Compare commits
2 Commits
c85123f1e3
...
9a30c35fad
Author | SHA1 | Date | |
---|---|---|---|
9a30c35fad | |||
9d25188cf5 |
@ -6,8 +6,16 @@
|
|||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.8" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\ComputerShopContracts\ComputerShopContracts.csproj" />
|
<ProjectReference Include="..\ComputerShopContracts\ComputerShopContracts.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="BusinessLogics\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -14,9 +14,11 @@ namespace ComputerShopContracts.BindingModels
|
|||||||
|
|
||||||
public int UserId { get; set; }
|
public int UserId { get; set; }
|
||||||
|
|
||||||
public Dictionary<int, IRequestModel> OrderRequests { get; set; } = new();
|
//!!!УДАЛИТЬ (после того, как нормально будут многие-ко-многим между заказами и заявками)
|
||||||
|
//public Dictionary<int, IRequestModel> OrderRequests { get; set; } = new();
|
||||||
|
|
||||||
public Dictionary<int, IShipmentModel> OrderShipments { get; set; } = new();
|
//!!!УДАЛИТЬ (после того, как нормально будут многие-ко-многим между заказами и партиями)
|
||||||
|
//public Dictionary<int, IShipmentModel> OrderShipments { get; set; } = new();
|
||||||
|
|
||||||
public DateTime DateCreate { get; set; } = DateTime.Now;
|
public DateTime DateCreate { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
@ -13,11 +13,16 @@ namespace ComputerShopContracts.BindingModels
|
|||||||
|
|
||||||
public int UserId { get; set; }
|
public int UserId { get; set; }
|
||||||
|
|
||||||
|
//!!!ДОБАВИТЬ ССЫЛКУ НА СБОРКУ
|
||||||
|
|
||||||
|
|
||||||
public DateTime DateMake { get; set; } = DateTime.Now;
|
public DateTime DateMake { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
//!!!МБ НЕ НАДО string.Empty
|
//!!!МБ НЕ НАДО string.Empty
|
||||||
public string ClientFIO { get; set; } = string.Empty;
|
public string ClientFIO { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public Dictionary<int, IOrderModel> RequestOrders { get; set; } = new();
|
||||||
|
|
||||||
//!!!ДОБАВИТЬ СТАТУС, ЕСЛИ БУДЕТ В ОБЫЧНОЙ МОДЕЛИ
|
//!!!ДОБАВИТЬ СТАТУС, ЕСЛИ БУДЕТ В ОБЫЧНОЙ МОДЕЛИ
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,5 +17,7 @@ namespace ComputerShopContracts.BindingModels
|
|||||||
public string ProviderName { get; set; } = string.Empty;
|
public string ProviderName { get; set; } = string.Empty;
|
||||||
|
|
||||||
public DateTime DateShipment { get; set; } = DateTime.Now;
|
public DateTime DateShipment { get; set; } = DateTime.Now;
|
||||||
|
|
||||||
|
public Dictionary<int, IOrderModel> ShipmentOrders { get; set; } = new();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
20
ComputerShopContracts/BindingModels/UserBindingModel.cs
Normal file
20
ComputerShopContracts/BindingModels/UserBindingModel.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using ComputerShopDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopContracts.BindingModels
|
||||||
|
{
|
||||||
|
public class UserBindingModel : IUserModel
|
||||||
|
{
|
||||||
|
public int Id { get; set; }
|
||||||
|
//!!!МБ НЕ НАДО string.Empty
|
||||||
|
public string Login { get; set; } = string.Empty;
|
||||||
|
//!!!МБ НЕ НАДО string.Empty
|
||||||
|
public string Password { get; set; } = string.Empty;
|
||||||
|
//!!!МБ НЕ НАДО string.Empty
|
||||||
|
public string Email { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
20
ComputerShopContracts/BusinessLogicContracts/IUserLogic.cs
Normal file
20
ComputerShopContracts/BusinessLogicContracts/IUserLogic.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using ComputerShopContracts.BindingModels;
|
||||||
|
using ComputerShopContracts.SearchModels;
|
||||||
|
using ComputerShopContracts.ViewModels;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopContracts.BusinessLogicContracts
|
||||||
|
{
|
||||||
|
public interface IUserLogic
|
||||||
|
{
|
||||||
|
List<UserViewModel>? ReadList(UserSearchModel? model);
|
||||||
|
UserViewModel? ReadElement(UserSearchModel model);
|
||||||
|
bool Create(UserBindingModel model);
|
||||||
|
bool Update(UserBindingModel model);
|
||||||
|
bool Delete(UserBindingModel model);
|
||||||
|
}
|
||||||
|
}
|
@ -12,8 +12,6 @@ namespace ComputerShopContracts.SearchModels
|
|||||||
public int? Id { get; set; }
|
public int? Id { get; set; }
|
||||||
public int? UserId { get; set; }
|
public int? UserId { get; set; }
|
||||||
|
|
||||||
//!!!МБ НАДО ДОБАВИТЬ ПОИСК ПО ЗАЯВКАМ/ПАРТИЯМ ТОВАРОВ
|
|
||||||
|
|
||||||
public DateTime? DateFrom { get; set; }
|
public DateTime? DateFrom { get; set; }
|
||||||
public DateTime? DateTo { get; set; }
|
public DateTime? DateTo { get; set; }
|
||||||
|
|
||||||
|
@ -13,6 +13,8 @@ namespace ComputerShopContracts.SearchModels
|
|||||||
|
|
||||||
//!!!ДОБАВИТЬ ПОИСК ПО СБОРКЕ (СУЩНОСТИ ОЛЕГА)
|
//!!!ДОБАВИТЬ ПОИСК ПО СБОРКЕ (СУЩНОСТИ ОЛЕГА)
|
||||||
|
|
||||||
|
//!!!мб надо добавить поиск по заказам
|
||||||
|
|
||||||
public DateTime? DateFrom { get; set; }
|
public DateTime? DateFrom { get; set; }
|
||||||
public DateTime? DateTo { get; set; }
|
public DateTime? DateTo { get; set; }
|
||||||
|
|
||||||
|
@ -10,6 +10,8 @@ namespace ComputerShopContracts.SearchModels
|
|||||||
{
|
{
|
||||||
public int? Id { get; set; }
|
public int? Id { get; set; }
|
||||||
public int? UserId { get; set; }
|
public int? UserId { get; set; }
|
||||||
|
|
||||||
|
//!!!мб надо добавить поиск по заказам
|
||||||
public string? ProviderName { get; set; }
|
public string? ProviderName { get; set; }
|
||||||
public DateTime? DateFrom { get; set; }
|
public DateTime? DateFrom { get; set; }
|
||||||
public DateTime? DateTo { get; set; }
|
public DateTime? DateTo { get; set; }
|
||||||
|
18
ComputerShopContracts/SearchModels/UserSearchModel.cs
Normal file
18
ComputerShopContracts/SearchModels/UserSearchModel.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopContracts.SearchModels
|
||||||
|
{
|
||||||
|
public class UserSearchModel
|
||||||
|
{
|
||||||
|
public int? Id { get; set; }
|
||||||
|
public string? Login { get; set; }
|
||||||
|
|
||||||
|
//!!!ПОИСК ПО ПАРОЛЮ НЕ СТАЛ ДОБАВЛЯТЬ, ИБО СТРАННО
|
||||||
|
|
||||||
|
public string? Email { get; set; }
|
||||||
|
}
|
||||||
|
}
|
21
ComputerShopContracts/StorageContracts/IUserStorage.cs
Normal file
21
ComputerShopContracts/StorageContracts/IUserStorage.cs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
using ComputerShopContracts.BindingModels;
|
||||||
|
using ComputerShopContracts.SearchModels;
|
||||||
|
using ComputerShopContracts.ViewModels;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopContracts.StorageContracts
|
||||||
|
{
|
||||||
|
public interface IUserStorage
|
||||||
|
{
|
||||||
|
List<UserViewModel> GetFullList();
|
||||||
|
List<UserViewModel> GetFilteredList(UserSearchModel model);
|
||||||
|
UserViewModel? GetElement(UserSearchModel model);
|
||||||
|
UserViewModel? Insert(UserBindingModel model);
|
||||||
|
UserViewModel? Update(UserBindingModel model);
|
||||||
|
UserViewModel? Delete(UserBindingModel model);
|
||||||
|
}
|
||||||
|
}
|
@ -19,8 +19,11 @@ namespace ComputerShopContracts.ViewModels
|
|||||||
public int UserId { get; set; }
|
public int UserId { get; set; }
|
||||||
|
|
||||||
//!!!ТУТ МБ НАДО DisplayName (НО ВЯРД ЛИ)
|
//!!!ТУТ МБ НАДО DisplayName (НО ВЯРД ЛИ)
|
||||||
public Dictionary<int, IRequestModel> OrderRequests { get; set; } = new();
|
|
||||||
public Dictionary<int, IShipmentModel> OrderShipments { get; set; } = new();
|
//!!!УДАЛИТЬ (если нормально работает многие-ко-многим)
|
||||||
|
|
||||||
|
//public Dictionary<int, IRequestModel> OrderRequests { get; set; } = new();
|
||||||
|
//public Dictionary<int, IShipmentModel> OrderShipments { get; set; } = new();
|
||||||
|
|
||||||
//!!!МБ НЕ НУЖНО DateTime.Now
|
//!!!МБ НЕ НУЖНО DateTime.Now
|
||||||
[DisplayName("Дата оформления")]
|
[DisplayName("Дата оформления")]
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using ComputerShopDataModels.Models;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -20,6 +21,8 @@ namespace ComputerShopContracts.ViewModels
|
|||||||
|
|
||||||
//!!!МБ ДОБАВИТЬ ID СБОРКИ
|
//!!!МБ ДОБАВИТЬ ID СБОРКИ
|
||||||
|
|
||||||
|
public Dictionary<int, IOrderModel> RequestOrders { get; set; } = new();
|
||||||
|
|
||||||
//!!!МБ НЕ НУЖНО DateTime.Now
|
//!!!МБ НЕ НУЖНО DateTime.Now
|
||||||
[DisplayName("Дата оформления")]
|
[DisplayName("Дата оформления")]
|
||||||
public DateTime DateMake { get; set; } = DateTime.Now;
|
public DateTime DateMake { get; set; } = DateTime.Now;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using ComputerShopDataModels.Models;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -19,6 +20,9 @@ namespace ComputerShopContracts.ViewModels
|
|||||||
|
|
||||||
//!!!МБ ДОБАВИТЬ НИК ПОЛЬЗОВАТЕЛЯ, СОЗДАВШЕГО ПАРТИЮ
|
//!!!МБ ДОБАВИТЬ НИК ПОЛЬЗОВАТЕЛЯ, СОЗДАВШЕГО ПАРТИЮ
|
||||||
|
|
||||||
|
|
||||||
|
public Dictionary<int, IOrderModel> ShipmentOrders { get; set; } = new();
|
||||||
|
|
||||||
//!!!МБ НЕ НУЖЕН string.Empty
|
//!!!МБ НЕ НУЖЕН string.Empty
|
||||||
[DisplayName("Поставщик")]
|
[DisplayName("Поставщик")]
|
||||||
public string ProviderName { get; set; } = string.Empty;
|
public string ProviderName { get; set; } = string.Empty;
|
||||||
|
25
ComputerShopContracts/ViewModels/UserViewModel.cs
Normal file
25
ComputerShopContracts/ViewModels/UserViewModel.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopContracts.ViewModels
|
||||||
|
{
|
||||||
|
public class UserViewModel
|
||||||
|
{
|
||||||
|
//!!!МБ ТУТ НАДО DisplayName (НО ВРЯД ЛИ)
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
//!!!МБ ТУТ НЕ НУЖНЫ string.Empty
|
||||||
|
[DisplayName("Логин")]
|
||||||
|
public string Login { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[DisplayName("Пароль")]
|
||||||
|
public string Password { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[DisplayName("Почта")]
|
||||||
|
public string Email { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
@ -12,23 +12,18 @@ namespace ComputerShopDataModels.Models
|
|||||||
//ID пользователя, который создал заказ
|
//ID пользователя, который создал заказ
|
||||||
int UserId { get; }
|
int UserId { get; }
|
||||||
|
|
||||||
|
//!!!УДАЛИТЬ (после того, как нормально будут многие-ко-многим между заказами и партиями)
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Заявки в заказе (может не быть)
|
/// Заявки в заказе (может не быть)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Dictionary<int, IRequestModel>? OrderRequests { get; }
|
//Dictionary<int, IRequestModel>? OrderRequests { get; }
|
||||||
|
|
||||||
//!!!УДАЛИТЬ
|
|
||||||
//ID заявки (может быть пустым)
|
|
||||||
//int? RequestId { get; }
|
|
||||||
|
|
||||||
//!!!УДАЛИТЬ
|
|
||||||
//ID партии товаров (может быть пустым)
|
|
||||||
//int? ShipmentId { get; }
|
|
||||||
|
|
||||||
|
//!!!УДАЛИТЬ (после того, как нормально будут многие-ко-многим между заказами и партиями)
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Партии товаров в заказе (может не быть)
|
/// Партии товаров в заказе (может не быть)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
Dictionary<int, IShipmentModel>? OrderShipments { get; }
|
//Dictionary<int, IShipmentModel>? OrderShipments { get; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ namespace ComputerShopDataModels.Models
|
|||||||
//!!!ДОБАВИТЬ ССЫЛКУ НА СБОРКУ ИЗ ЧАСТИ ОЛЕГА
|
//!!!ДОБАВИТЬ ССЫЛКУ НА СБОРКУ ИЗ ЧАСТИ ОЛЕГА
|
||||||
|
|
||||||
|
|
||||||
|
Dictionary<int, IOrderModel> RequestOrders { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата создания заявки
|
/// Дата создания заявки
|
||||||
|
@ -23,5 +23,10 @@ namespace ComputerShopDataModels.Models
|
|||||||
/// Дата поставки
|
/// Дата поставки
|
||||||
/// </summary>
|
/// </summary>
|
||||||
DateTime DateShipment { get; }
|
DateTime DateShipment { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Заказы, в которых участвует партия товаров
|
||||||
|
/// </summary>
|
||||||
|
Dictionary<int, IOrderModel> ShipmentOrders { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
15
ComputerShopDataModels/Models/IUserModel.cs
Normal file
15
ComputerShopDataModels/Models/IUserModel.cs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopDataModels.Models
|
||||||
|
{
|
||||||
|
public interface IUserModel : IId
|
||||||
|
{
|
||||||
|
string Login { get; }
|
||||||
|
string Password { get; }
|
||||||
|
string Email { get; }
|
||||||
|
}
|
||||||
|
}
|
@ -20,4 +20,8 @@
|
|||||||
<ProjectReference Include="..\ComputerShopDataModels\ComputerShopDataModels.csproj" />
|
<ProjectReference Include="..\ComputerShopDataModels\ComputerShopDataModels.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Implements\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
25
ComputerShopDatabaseImplement/Models/User.cs
Normal file
25
ComputerShopDatabaseImplement/Models/User.cs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
using ComputerShopDataModels.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ComputerShopDatabaseImplement.Models
|
||||||
|
{
|
||||||
|
public class User : IUserModel
|
||||||
|
{
|
||||||
|
public int Id { get; private set; }
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Login { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Password { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
//!!!МБ ТУТ НУЖНА ДОП. АННОТАЦИЯ ПРОВЕРКИ ПОЧТЫ
|
||||||
|
[Required]
|
||||||
|
public string Email { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user