Magazyn - Portfolio

Menu
Przejdź do treści
Magazyn zaimplementowany w ASP.NET Core. Baza danych Mssql ORM EF.
 
W projekcie jest zaimplementowany również Pomelo Framework do pobrania danych z bazy mysql i umieszczenia danych w bazie mssql. Baza danych została odwzorowana przy użyciu scaffold. Dane są kopiowane pomiędzy tabelami przy użyciu Automappera. API w chwili obecnej posiada pełną funkcjonalność CRUD.
Autoryzacja przy użyciu Identity oraz własnego systemu autoryzacji.
Frontend jest tworzony przy użyciu Blazor (będzie tez dostępna wersja w React).
Do logowania zdarzeń jest używana biblioteka nlog.
Baza danych Mssql jest dostępna na serwerze ogólnie dostępnym jako obraz Docker-a.

End points.
Struktura Bazy danych.
Tabela state zaimplementowana paginacja oraz sortowanie po nazwie (kolumna nazwa) produktu.
Wyszukiwanie produktu po nazwie.
Wyszukiwanie po nawie SQL (Wygenerowane przez EF):

[Parameters=[@__name_0='?' (Size = 450)], CommandType='Text', CommandTimeout='30']
     SELECT [s].[Id], [s].[CodProduct], [s].[CourseEuro], [s].[CourseUsd], [s].[Daty_Bay], [s].[Description], [s].[DifferendVatTax], [s].[EAN], [s].[GTU], [s].[Ids], [s].[InvoiceNumber], [s].[Name], [s].[Profit], [s].[PurchasePriceNetto], [s].[Quantity], [s].[QuantityInBox], [s].[SellePriceBrutto], [s].[TaxVat]
     FROM [States] AS [s]
     WHERE (@__name_0 LIKE N'') OR CHARINDEX(@__name_0, [s].[Name]) > 0
Przeglądanie logów (najnowsze 130 lini lgów zawartych w bazie). Ilość linii logów ustawiana jest przez użytkownika.
Kasowanie produktu wyszukanego w bazie danych.
Sprzedaż produktu.

Tabela  Sell
Artykuły sprzedane w danym przedziale (daty sprzedaży).
Dodanie uprawnień do pobierania pliku xml dla konkretnego użytkownika.
Pobieranie pliku xml przy spełnieniu kilku zależności :
 
  • Podaniu id użytkownika (Guid).
  • podanie klucza Auth który jest generowany automatycznie i przypisany do użytkownika z uprawnieniami (Guid).
  • Link do pliku xml
  • Ścieżka do zapisu pliku xml.
Generowny link:
https://localhost:7038/api/File/FileXml?Link=http%3A%2Fbsd-net.pl%2F&idUser=740a9239-b46d-4b14-a71b-09e74a63589b&AuthKey=6af42b61-f5b0-42cc-929c-3951553bfb26&LocalDir=c%3A%2F

Dane sa zapisywane w postaci: URL ENCODED

     
Edycja produktu.
Dodawanie nowego produktu.
Obliczanie zysku oraz różnicy vat-u (pomiędzy sprzedażą a zakupem)
Formularz waliduje wprowadzone dane.
Klasa obsługująca obliczania:
 
public class Counter
   {
       public double AddProcent(double numeric, double procent)
       {
           procent = (procent / 100) + 1;
           return Math.Round(numeric * procent,2);
       }
       public double SubtractProcent(double numeric, double procent)
       {
           procent = (procent  / 100) +1;
           return Math.Round(numeric / procent, 2);
       }
       public double DiffrentTax(double priceBruttoBay, double priceBruttoSell, double procent)
       {
           return Math.Round(SubtractProcent(priceBruttoSell,procent) - SubtractProcent(priceBruttoBay, procent), 2);
       }
    }
Wróć do spisu treści