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.
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):
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%2FDane 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);
}
}