Instrukcja laboratoryjna cz.6



Podobne dokumenty
Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Problemy techniczne SQL Server

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Zaawansowane aplikacje internetowe - laboratorium

Instrukcja laboratoryjna

Problemy techniczne SQL Server

MVVM Light Toolkit. Julita Borkowska

Baza danych sql. 1. Wprowadzenie

Instrukcja laboratoryjna nr.4

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

ANALYSIS SERVICES. 1. Tworzymy połączenie ze źródłem danych. 2. Tworzymy nowy widok dla źródła danych

Instrukcja laboratoryjna cz.3

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Rys. 3. Kod elementów na stronie po dodaniu kontrolek podstawowych.

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Programowanie obiektowe

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Instrukcja laboratoryjna cz.3

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

PROJEKTOWANIE APLIKACJI INTERNETOWYCH

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

BACKUP BAZ DANYCH MS SQL

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

Budowanie aplikacji biznesowych przy użyciu. Presentation Foundation i wzorca MVVM

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Poradnik korzystania z usługi FTP

Uruchamianie bazy PostgreSQL

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

16) Wprowadzenie do raportowania Rave

Informatyka I : Tworzenie projektu

Jak przenieść bazę danych na zdalny serwer?

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Programowanie Obiektowe GUI

1. Wybierz File New Application. Pojawi się nowa aplikacja w Delphi.

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

Kostki OLAP i język MDX

Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).

Pomoc dla usługi GMSTHostService. GMSTHostService. Pomoc do programu 1/14

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Web Services (SOAP) Ćwiczenie 1

BACKUP BAZ DANYCH FIREBIRD

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Projektowanie baz danych za pomocą narzędzi CASE

Bazy danych Karta pracy 1

Laboratorium programowania urządzeń mobilnych

Instrukcja użytkownika

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

ZAPOZNANIE SIĘ ZE SPOSOBEM PRZECHOWYWANIA

Wprowadzenie do programowania aplikacji mobilnych

Leszek Stasiak Zastosowanie technologii LINQ w

Zadanie 1. Tworzenie nowej "strony sieci WEB". Będziemy korzystad ze stron w technologii ASP.NET.

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Konfiguracja modułu alarmowania w oprogramowaniu InTouch 7.11

Przedszkolaki Przygotowanie organizacyjne

Aplikacje WWW. Laboratorium z przedmiotu Aplikacje WWW - zestaw 01

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Galileo v10 pierwszy program

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

Microsoft.NET: Warstwa dostępu do danych (DAL) w aplikacjach ASP.NET Web Forms

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Zaawansowane aplikacje internetowe

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Backend Administratora

Modelowanie obiektowe - Ćw. 1.

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

Aplikacje internetowe i rozproszone - laboratorium

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

Serwery Statefull i Stateless

Problemy techniczne SQL Server

Microsoft.NET: ASP.NET MVC + Entity Framework (Model First)

Programowanie obiektowe

Aplikacje WWW - laboratorium

INSTRUKCJA OBSŁUGI Wersja: 2.5

Ćwiczenie 2. Tworzenie serwisów internetowych. Zapoznanie z pakietem WebRatio

Aplikacje internetowe i rozproszone - laboratorium

R o g e r A c c e s s C o n t r o l S y s t e m 5

INSTRUKCJA OBSŁUGI Wersja: 1.8

Problemy techniczne SQL Server

Instrukcja pomocnicza

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Instalacja VPN Check Point Mobile Apple macos Hight Sierra (v )

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Samsung Universal Print Driver Podręcznik użytkownika

Transkrypt:

Programowanie aplikacji internetowych 2013/2014 Instrukcja laboratoryjna cz.6 Technologia Silverlight cz.2 Prowadzący: Tomasz Goluch Wersja: 3.0

I. Model danych (tworzenie bazy na podstawie modelu). Cel: Utworzenie bazy danych na podstawie własnego modelu danych Uruchom Visual Studio 2012. W projekcie MyProject.Web (zwanym projektem WEB 1 ) dodaj nowy plik ADO.NET Entity Data Model MyProjectEntities.edmx (Visual C#). Wybierz: Empty Model Finish. W oknie designera kliknij PPM 2 i wybierz: Add Entity Entity name: Customer, Property name: CustomerID OK. Kliknij na nowym entity PPM, dodaj nowe Scalar Property i nadaj mu nazwę: FirstName oraz ustaw ograniczenie na maksymalną długość 50 znaków (Properties Facets Max Length: 50) identyczne kroki wykonaj dla property LastName). Dodaj nowe entity o nazwie CustomerAddress zawierające klucz własny AddressId oraz pole ModifiedDate. 1 Można wykorzystać poprzednie zadanie albo utworzyć nowy Silverlight Navigation Application projekt. 2 PPM Prawy przycisk myszy. 1

Kliknij PPM na Customer Entity i wybierz: Add Association Association Name: CustomerCustomerAddress. Nowo dodana asocjacja powinna być widoczna w modelu danych. 2

Dodaj nowy plik bazy danych: Add New Item SQL Server Database MyDatabase.mdf Add. W celu utworzenia bazy danych kliknij PPM na pustym miejscu modelu danych i wybierz: Generate Database from Model Next Finish. Na nowo wygenerowanym skrypcie SQL kliknij PPM i wybierz: Execute SQL jako Server name wybierz bazę danych w której chcesz utworzyć nowe tabele i wybierz Connect. W oknie Serwer Eksplorer a obejrzyj nowo dodane tabele. II. Model danych (odtwarzanie modelu danych z bazy). Cel: Zbudowanie modelu danych w oparciu o istniejącą bazę danych. Pobierz przykładową bazę danych ze strony: http://msftdbprodsamples.codeplex.com/releases/view/37109#downloadid=106391 W projekcie MyProject.Web (zwanym projektem WEB 3 ) dodaj nowy plik ADO.NET Entity Data Model MyProjectEntities.edmx (Visual C#). 3 Można wykorzystać poprzednie zadanie albo utworzyć nowy Silverlight Navigation Application projekt. 3

Wybierz kreatora generowania modelu Generate from Database New Connection Microsoft SQL Server Database File Continue Browse dodaj wcześniej pobrany plik bazy danych (AdventureWorksLT2008_Data.mdf) OK. Wybierz: Use Windows Authentication Test Connection OK Zostaw zaznaczoną opcję: Save entity connection settings in Web.Config as: i podaj nazwę dla tego połączenia np.: My_DataEntities. 4

Zaakceptuj komunikat proponujący dodanie pliku bazy danych do projektu WEB. W oknie kreatora wybierz tabele: Customer i CustomerAddress i podaj nazwę modelu np.: My_DataModel. Do projektu zostanie automatycznie dołączony plik bazy danych oraz plik mapera obiektoworelacyjnego (tzw. narzędzie ORM). 5

III. Pobieranie danych za pomocą serwisu WCF. Cel: Wypełnianie listy kontrolki DataGrid na podstawie wywołania usługi oraz przekazywanie informacji pomiędzy widokami. W projekcie WEB dodaj nowy folder o nazwie Services i dodaj do niego nowy plik Silverlight-enabled WCF Service MyService.svc (Visual C#) usługa WCF udostępniająca dane aplikacji Silverlight. Do pliku dodaj prostą usługę WEB GetCustomers() 4 : W celu dodania rozwiązania wybierz w projekcie MyProject.CustomerModule: References PPM Add Service Reference Discover (Namespace: Services) OK. Uwaga w przypadku problem z pobraniem meta danych opisujących serwis może pomóc przebudowanie projektu WEB. 4 Metoda operuje na danych typu Klient i Adres klienta. Potraktujemy je jako dane gracza. 6

Przeciągnij z paska narzędzi do pliku klienta MyCustomerList.xaml kontrolkę DataGrid, dwa przyciski oraz kontrolką Grid. A następnie uzupełnij kod XAML zgodnie z poniższym przykadem: Proszę przedstawić działający program prowadzącemu. IV. Prezentacja danych w widoku. Cel: Przykład prezentacji danych w widoku podejście z wykorzystaniem kodu stron (ang. Code Behind). Następujący kod napisany intuicyjnie w plikach *.cs odpowiadających im widoków (stron) jest przykładem programowania które można nazwać antywzorcem i powinien być on wykorzystywany jedynie w małych aplikacjach. Normalnie dodalibyśmy kod do pliku MyCustomerList.xaml.cs (ang. code-behind): 7

W konstruktorze zaznaczyliśmy buforowanie strony w pamięci podręcznej. Metoda OnNavigatedTo() pozwala na wywołanie usługi i wypełnienie kontrolki DataGrid. Proszę przedstawić działający program prowadzącemu. Dodaj widok szczegółów klienta dodając w projekcie klienta do katalogu Views nowy plik Silverlight Child Window MyCustomerDetail.xaml (Visual C#). Kod okna ChildWindow wyświetlającego szczegóły klienta wygląda by następująco: 8

Wewnątrz klasy CustomerDetail umieszczamy zmienną i właściwość MyCustomer ustawiająca DataContext udostępniając systemowi wiązania obiekt klasy MyCustomer jako bazę dla wszystkich instrukcji wiązania. Dodajemy w pliku CustomerList.xaml kod obsługi przycisków EditCustomer oraz SetDate 5. Dodanie funkcjonalności do przycisków. Dodanie dwóch procedur obsługi zdarzeń w konstruktorze. 5 Wydmuszkę metody tworzymy automatycznie dwukrotnym kliknięciem na przycisku w widoku designera. 9

Dodanie wiązania obustronnego dla pól: FirstName i LastName. Okno szczegółów klienta powinno pozwalać na ich edycję. Proszę przedstawić działający program prowadzącemu. V. Wzorzec MVVM. Cel: Przykład implementacji wcześniej przytoczonej funkcjonalności przy użyciu wzorca Model/Vie/ ViewModel. Dodaj w projekcie klienta nowy folder ViewModels w którym będziesz przechowywał modele widoku dedykowane dla każdego utworzonego widoku. Dodaj do folderu ViewModel klasę bazową dla wszystkich modeli widoków nowy plik klasy Class ViewModel.cs (Visual C#). Klasa ViewModel powinna implementować interfejs INotifyPropertyChanged w celu umożliwienia wiązań z innymi klasami. Aby zaimplementować model widoku dla strony z listą, Dodaj do folderu ViewModel klasę modelu widoku dla widoku CustomerList nowy plik klasy Class CustomerListViewModel.cs (Visual C#). Klasa CustomerListViewModel dziedziczy po ViewModel. 10

Posiada właściwość SelectedCustomer która służy do śledzenia który pracownik z listy został zaznaczony. Przenosi to odpowiedzialność za utrzymywanie tej informacji w widoku CustomerList. Kolejną właściwością jest Customers zawiera ona pełną listę klientów uzyskaną poprzez wywołanie usługi WCF. Będzie ona wykorzystywana w celu wypełnienia kontrolki DataGrid. Następnie dodajemy zdarzenie CustomersLoadded oraz metodę ładującą klientów LloadCustomers(). Metody OnCustomersLoaded() oraz SetModifiedDateToSelectedCustome()r. 11

Aby powiązać kontrolkę DataGrid z kolekcją Customers i właściwością SelectedCustomer, należy odpowiednio zaktualizować jej kod XAML: Wiązanie dla właściwości SelectedCustomer jest w obie strony co oznacza, że zarówno kontrolka DataGrid jak i kod mogą aktualizować te wartość. Musimy wewnątrz klasy CustomerList dodać model widoku zmienić ciało metody OnNavigatedTo. 12

Natomiast metoda SetDate_Click powinna teraz wykonywać metodę bezpośrednio z widoku. Uruchomić projekt WEB lista klientów powinna działać bez zmian. Zalety: Oddzielenie kontrolki DataGrid od kodu strony. Usunięcie z kodu strony wywołania usługi dostępu do danych (łatwa wymiana na inny bez zmian w kodzie strony). Logika funkcji modyfikującej stronę jest przeniesiona poza stronę. Kod strony nie manipuluje bezpośrednio klasą Customer, co pozwala na łatwą wymianę tej klasy. Proszę przedstawić działający program prowadzącemu. VI. Kod wielokrotnego użytku. Cel: Przykłady wyodrębniania kodu wielokrotnego użytku. Utwórz nowy folder Services w projekcie klienta dodaj nowy plik Class CustomerDataService.cs (Visual C#). 13

Wyłącznym celem tej klasy jest zapewnienie interfejsu do danych klienta który może być z łatwością rozbudowywany. Aby wspomagać użycie klasy CustomerDataService należy w klasie CustomerListViewModel dodać obiekt tej klasy i przebudować funkcję LoadCustomers(). Uruchomić projekt WEB lista klientów powinna działać bez zmian. Proszę przedstawić działający program prowadzącemu. 14