niedziela, 30 kwietnia 2017

wypełnienie treścią

Trochę mrówczej pracy.

Cennik i opisy gotowe


Następnym etapem będzie w końcu meritum - czyli rezerwacja wizyty :)

czwartek, 27 kwietnia 2017

telerik

Moja przygoda z .NET rozpoczęła się z WebForms i bardzo szybko zaczęłam korzystać z kontrolek Telerik. Mimo sporego kosztu zakupu kontrolki bardzo przydają się w codziennym programowaniu, szczególnie, gdy nie zwracamy bardzo dużej uwagi na sam wygląd, a najważniejszym punktem jest funkcjonalność. Dzięki temu można w dość krótkim czasie przygotować użytkowników potrzebne narzędzie do pracy.

Telerik ma sporą listę kontrolek. Najczęściej używane przeze mnie to RadGrid, RadComboBox, RadMenu, RadTexBox itp. Kontrolki te mają już z góry zdefiniowane metody i należy je tylko wykorzystać. Firma również oferuje bardzo pomocne dema pokazując możliwości kontrolek, a także w jaki sposób z nich korzystać i jakie trudności można napotkać.

niedziela, 23 kwietnia 2017

connectionstring


Connectionstring dostarcza informacji, które są potrzebne do komunikowania się z bazą danych. Za pomocą niego możemy określać parametry specyfikujące połączenie, takie jak:
  • Data Source – ten parametr określa nazwę instancji SQL Server’a
  • AttachDbFileName – parametr określający miejsce przechowywania pliku bazy danych oraz jego nazwę,
  • ID – login wykorzystywany do autoryzacji dostępu do SQL Server’a,
  • Initial Catalog – określa nazwę bazy danych,
  • Integrated Security – określa sposób logowania do instancji SQL Server:
    • True – logowanie tylko za pomocą Windows Integrated Security (systemu operacyjnego),
    • False – logowanie za pomocą ID i hasła dostarczonego w connection string,
    • SSPI – ten parametr określa, że zastosujemy logowania za pomocą Windows Integrated Security, jeśli nie dostarczono ID i hasła w connection string,
  • MultipleActiveResultSets – umożliwia równoległą egzekucję zapytań do bazy danych,
  • Password – hasło wykorzystywane do autoryzacji dostępu do SQL Server’a,
  • User Instance – wykorzystywane tylko dla SQL Server Express, z parametrem True tworzy specjalną instancję SQL Server Express, w której zwykły użytkownik będzie miał prawa administratorskie.
Najlepszym rozwiązaniem jest umieszczenie connectionstring w pliku web.config. Dzięki temu, jeżeli zmienimy lokalizację bazy danych będzie można za pomocą jednego wpisu dokonać odpowiednich zmian bez kompilacji całego projektu.

W moim projekcie connectionstring w pliku web.config wygląda następująco:

piątek, 21 kwietnia 2017

strona mobilna

Zmagań z grafiką ciąg dalszy. Tym razem stronka została dostosowana do wersji mobilnych.


Powstała również grafika stronki do rezerwacji. Choć potrzebuje jeszcze kosmetycznej korekty.

sobota, 15 kwietnia 2017

autoryzacja i uwierzytelnienie w .net - podstawy

W dzisiejszych czasach bardzo istotne jest bezpieczeństwo w sieci. Nie tylko administratorzy systemu powinni o nie dbać, ale również programiści  powinni zwrócić szczególną uwagę na autoryzację użytkownika, kontrolę dostępu do określonych zasobów czy funkcji oprogramowania.

W .net mamy bezpieczeństwo oparte na rolach. Dzięki temu można sprawdzić tożsamość użytkownika i weryfikować jego prawa do zasobów. Można to zrobić na dwa sposoby:
  •  deklaratywny (declarative security), polegający na dodawaniu atrybutów do klas, metod, bloków kodu, które będą wchodzić w skład metadanych,
  •  programowy (imperative security), polegający na dynamicznym tworzeniu zestawu uprawnień, które są sprawdzane na etapie wykonywania kodu. (Źródło: dokumentacja Microsoft)

  • Dostęp do danych zalogowanego użytkownika w systemie można uzyskać poprzez wykorzystanie klasy WinsowsIdentity.
    WindowsIdentity current = WindowsIdentity.GetCurrent();
    Potrzebna jest tutaj przestrzeń nazw System.Security.Principal .

    piątek, 14 kwietnia 2017

    pierwsza strona

    W tym trudnym czasie przedświątecznym udało się wygospodarować chwilkę czasu na projekt :).

    Stworzyłam logo mojego gabinetu:


    Wstawiłam je również do projektu i dzięki temu mam gotową pierwszą stronę



    Życzę wszystkim Wesołych Świąt Wielkanocnych, dużo zdrówka, szczęścia i wytrwałości.

    niedziela, 9 kwietnia 2017

    MVC - cykl życia


    Źródło: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/lifecycle-of-an-aspnet-mvc-5-application

    1. Http Request
    Czyli żądanie z przeglądarki, w którym za pomocą adresu można przekazać, który widok interesuje odbiorcę, ewentualnie parametry

    2. Routing
    W pliku RouteConfig.cs przypisane są wzorce przebiegu trasy. Visual Studio sam zapisuje te wzorce na podstawie dodanych kontrolerów i widoków z nich wywoływanych
    Czyli jedną stronę możemy wywołać w różny sposób:
    http://mojastrona.pl
    http://mojastrona.pl/Home
    http://mojastrona.pl/Home/Index
    pod warunkiem, że dodano kontroler o nazwie HomeController oraz widok Index, a w kontrolerze zdefiniowano wywołanie widoku

    3. MvcHandler
    W tym miejscu jest wybierany odpowiedni kontroler na podstawie adresu w HTTP Request

    4. Authentication and Authorization - filtry sprawdzające czy użytkownik wysyłający żądanie przeszedł pozytywnie uwierzytelnienie (logowanie) i ma prawo do przeglądania treści tej strony

    5. Model binding
    Na podstawie adresu żądania rozwiązywane są parametry, np.
    http://mojastrona.pl/Home/edit/2
    W kontrolerze Home znajduje się metoda edit, która przyjmuje 1 parametr (np. typu int).

    6. Action Method Invocation
    MVC będzie próbować wykonać metodę z punktu powyżej za pomocą funkcji InvokeAction.

    7. Result Execution
    Na podstawie wyników poprzednich metod zwracany jest instancja klasy dziedziczącej po ActionResult. Może to być np: ViewResult, RedirectResult, ContentResult, JsonResult, JavaScriptResult, FileResult, EmptyResult

    8. Http Response
    Zwraca wyrenderowany widok, może to być np. Razor lub ASPX.