Category Archives: .NET

ToList(), or not ToList()…

By | November 23, 2016

…oto jest pytanie! Po długiej przerwie w pisaniu postaram się Wam na nie odpowiedzieć. Co dzieje się w momencie użycia tej metody? Kiedy powinniśmy z niej korzystać, a kiedy możemy to sobie odpuścić? Oczywiście nie będę w stanie przeanalizować każdej możliwej sytuacji, ale mam nadzieję, że po dzisiejszej lekturze będziecie korzystać z tej metody w… Read More »

Trzy słowa o optymalizacji LINQ

By | October 8, 2016

Kontynuując wątek LINQ, który podjąłem jakiś czas temu, poruszę dziś temat optymalizacji operacji jakie wykonujemy na kolekcjach. Na starcie muszę się przyznać, że tytuł nie jest do końca zgodny z prawdą, bo trzy słowa to o wiele za mało, by wejść w głębiej w temat optymalizacji zapytań. Są jednak 3 metody, które można wykorzystać do znacznego… Read More »

Obsługa wyjątków w LINQ

By | September 18, 2016

Jak już wspominałem, uwielbiam LINQ. Z każdym razem gdy go używam odrobinę bardziej. Ale nie każdy pała do LINQ równie wielką miłością co ja i pojawiają się różne argumenty przemawiające przeciw korzystaniu z tej funkcjonalności w wielu przypadkach, również w takich gdzie znacznie ułatwiłoby to nam życie. Jednym z takich argumentów jest trudność w debugowaniu długich… Read More »

Deferred execution w LINQ – kiedy wywoływane jest zapytanie?

By | August 30, 2016

LINQ jest funkcjonalnością, która zainteresowała mnie w C# praktycznie od początku mojej styczności z tym językiem. Jest to narzędzie naprawdę potężne i w odpowiednich rękach może bardzo usprawnić działanie aplikacji i zwiększyć czytelność kodu. Sęk w tym, że o ile łatwo pisze się wszelkiego rodzaju Selecty, Whery i ToListy, to fajnie byłoby jeszcze wiedzieć co,… Read More »

SignalR i AngularJS – Związek doskonały

By | August 6, 2016

Mniej więcej 3 miesiące temu zainteresowałem się biblioteką SignalR i bardzo szybko stała się ona jednym z moich ulubionych narzędzi. Z mojego polecenia skorzystało z niej kilka osób i każdy chwalił ją za bardzo szybkie widoczne efekty i banalną implementację. O czym nie wspomniałem w poprzednich postach, to połączenie SignalR z jednym z najpopularniejszych obecnie frameworków… Read More »

Tworzymy kanał RSS w ASP.NET MVC

By | July 1, 2016

Ostatnio stanąłem oko w oko z zadaniem stworzenia kanału RSS. Spodziewałem się czegoś trudniejszego, a zadanie okazało się o wiele prostsze niż myślałem. Być może sposób ten się komuś przyda, więc na wszelki wypadek się nim podzielę. Po szybkim researchu zdecydowanie najprzyjemniejszym i najprostszym rozwiązaniem wydało mi się stworzenie klasy RSSResult dziedziczącej po ActionResult, czyli klasie,… Read More »

Dynamiczne tworzenie zapytań do Entity Framework

By | June 22, 2016

Czasem może nas spotkać sytuacja, że bardzo potrzebujemy stworzyć zapytanie do Entity Framework, które musi dynamicznie reagować na nasze wymagania i w jednym konkretnym przypadku będzie potrzebowało dodatkowego Where(). Oczywiście, możemy napisać oddzielne zapytania i warunek, ale istnieje odrobinę sprytniejszy sposób. Zacznijmy od nakreślenia prostego kontekstu sytuacji. Załóżmy, że coś sprzedajemy i na przykład w poniedziałki nie… Read More »

Jak zacząć naukę programowania w C# (i nie tylko)?

By | May 30, 2016

Bardzo często spotykam się z pytaniem “jak rozpocząć naukę programowania”. Jako, że jestem samoukiem i jeszcze pamiętam swoje początki, a w podsumowaniu konkursu gorąco zachęcałem do brania udziału w inicjatywach takich jak Daj Się Poznać nawet jeśli ktoś dopiero zaczyna swoją przygodę z programowaniem, to postanowiłem podsumować swoje przemyślenia na temat rozpoczęcia samego procesu nauki,… Read More »

Powiadomienia o statusie realizacji zamówienia w czasie rzeczywistym – SignalR

By | May 19, 2016

W swoim projekcie umieściłem funkcjonalność, na którą czekałem już od jakiegoś czasu. Chodzi o informowanie klienta o statusie jakie ma jego zamówienie i szacowanym terminie realizacji w czasie rzeczywistym i bez przeładowywania strony. Wszystko za pośrednictwem pojedynczej strony, na którą klient jest przekierowywany po wykonaniu zamówienia i kilku linijek kodu w SignalR. Póki co znajduje się ona… Read More »

Integracja z Payu – Wysyłanie zamówień

By | May 15, 2016

Integracja systemu płatności PayU i ASP.NET MVC jest naprawdę prosta. Z ich dokumentacją i podstawową wiedzą na temat klienta REST API można rozpocząć wysyłanie zamówień w jeden wieczór. A dziś pokażę Wam jak wygląda to w moim projekcie. W tym poście pokryję tylko temat tworzenia nowych zamówień, wysyłania ich do API PayU i otrzymania linku… Read More »

Powiadomienia o nowych zamówieniach w czasie rzeczywistym – pierwsze kroki z SignalR

By | May 8, 2016

Chciałbym, aby po złożeniu zamówienia przez klienta obsługa restauracji była automatycznie powiadamiana o nowym zamówieniu i mogła rozpocząć jego realizację od razu. Bez odświeżania okna, szukania nowości na liście zamówień. Chcemy mieć wielki komunikat na środku ekranu niezależnie od tego gdzie w panelu administracyjnym właśnie się znajdujemy (przyjąłem założenie, że realizacja zamówienia ma najwyższy priorytet)… Read More »

Inicjowanie i wypełnianie bazy danych w Entity Framework Code First

By | May 4, 2016

Podczas pracy nad projektem lubię dysponować zestawem poglądowych danych, na których mogę operować podczas postępujących prac, spojrzeć jak prezentują się po odpaleniu aplikacji itd. Dziś opowiem o szybkim, łatwym i w pełni zgodnym z ideą Code First sposobie na wypełnienie bazy różnego rodzaju danymi podczas uruchamiania aplikacji i strategiami inicjalizacji bazy podczas każdego startu. Kiedy powinna być tworzona na… Read More »

Dodawanie WebAPI do istniejącego projektu

By | May 3, 2016

Niestety, ale bardzo poważnie zaciąłem się przy integracji z PayU, w związku z tym dzisiaj post o tym co zrobiłem jakiś tydzień temu. Mianowicie – odkryłem, że na śmierć zapomniałem dodać do projektu elementy WebAPI w momencie jego tworzenia. Nie wszystko stracone, bo dodanie API do projektu nie jest co prawda tak banalne jak zaznaczenie… Read More »

Obsługa zamówień w YumYum Commerce

By | April 10, 2016

Skoro tworzę system e-commerce, to oczywistym jest, że po złożeniu zamówień coś zaczyna się dziać. Jest to funkcjonalność kluczowa i posunąłbym się do stwierdzenia, że najważniejsze procesy w aplikacjach związanych z e-commerce dzieją się dookoła realizacji wpływających zamówień. Wypadałoby więc coś o tym opowiedzieć. W poprzednim poście napisałem, że do reprezentacji statusu zamówienia użyłem enuma. Ale… Read More »

Enum – Wyświetlanie nazwy z atrybutu Display Name w widoku

By | April 3, 2016

Enumy są fajne. Chociaż dałoby się bez nich żyć, to ułatwiają naprawdę wiele rzeczy. Sęk w tym, że przyjąłem sobie za cel pisanie nazw metod, klas etc. w kodzie tylko i wyłącznie po angielsku, a interfejs na chwilę obecną tworzę w naszym pięknym języku. Jak zatem wyświetlić dla określonej wartości enuma przetłumaczoną (lub kompletnie inną)… Read More »

Entity Framework Code First – Zmiany w strukturze bazy danych – Migrations

By | March 24, 2016

Dziś będzie bardzo krótko i bardzo prosto, a jednak jeśli ktoś zdecyduje się na korzystanie z podejścia Code First w EF to informacje takie są absolutnie niezbędne. Instalujemy paczki Entity Framework, dodajemy kilka encji do projektu, DbContext. Szybko przelatujemy wzrokiem przez tutorial i lecimy. Nasza baza stoi, ma się dobrze i wszystko działa, gra i… Read More »

Koszyk – Przechowywanie stanu i model binding

By | March 22, 2016

Jedną z podstawowych funkcjonalności prawie każdej aplikacji e-commerce jest koszyk. Jak możemy przechowywać jego stan? Jak najłatwiej umieścić go w kontrolerze? Jeśli jeszcze tego nie wiecie, to dowiecie się za chwilę. Kluczową decyzją przy tworzeniu koszyka nie jest jego budowa czy metody jakie będzie zawierał. Te są stosunkowo proste, bo i nie ma w nim… Read More »

Relacje Wiele-Wiele w generycznym repozytorium (Entity Framework)

By | March 18, 2016

Ostatnio wspominałem o pewnym problemie, który spotka każdego chętnego, by skorzystać z generycznego repozytorium używając jednocześnie Entity Framework. Problemem tym jest edycja encji, które zawierają w sobie relacje many-to-many. Sam problem jest banalny gdy mamy oddzielne repozytoria lub korzystamy bezpośrednio z DbContext, ale jeśli chcemy trzymać się generyczności, to musimy nieco zmienić naszą metodę Update.… Read More »

Generyczne Repozytoria i Unit of Work

By | March 12, 2016

W swoim projekcie będę operował na kilku różnych typach encji, które przy zastosowaniu wzorca repozytorium jaki przedstawiłem wcześniej wymagałyby każdorazowo oddzielnej klasy repozytorium. Chociaż wszystkie implementowałyby ten sam interfejs i oferowały w większości tą samą funkcjonalność, to wymagałyby wielokrotnego powtarzania tych samych linijek kodu. Byłoby to stosunkowo proste, ale nie miałoby większego sensu. Potrzebowałem rozwiązania,… Read More »