Слой контрактов
This commit is contained in:
parent
ab011997b0
commit
a0251dbb00
@ -0,0 +1,11 @@
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.BindingModels
|
||||
{
|
||||
public class CargoBindingModel : ICargoModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string CargoName { get; set; } = string.Empty;
|
||||
public int Weight { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.BindingModels
|
||||
{
|
||||
public class DriverBindingModel : IDriverModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string DriverFio { get; set; } = string.Empty;
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.BindingModels
|
||||
{
|
||||
public class PointBindingModel : IPointModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string PointName { get; set; } = string.Empty;
|
||||
public string Address { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.BindingModels
|
||||
{
|
||||
public class TransportBindingModel : ITransportModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Model { get; set; } = string.Empty;
|
||||
public int LoadCapacity { get; set; }
|
||||
public string StateNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
using TransportCompanyDataModels.Enums;
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.BindingModels
|
||||
{
|
||||
public class TransportationBindingModel : ITransportationModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int DriverId { get; set; }
|
||||
public int TransportId { get; set; }
|
||||
public int PointToId { get; set; }
|
||||
public int PointFromId { get; set; }
|
||||
public TransportationStatus Status { get; set; } = TransportationStatus.Неизвестен;
|
||||
public DateTime DepartureDate { get; set; } = DateTime.Now;
|
||||
public DateTime? ArrivalDate { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.BusinessLogicsContracts
|
||||
{
|
||||
public interface ICargoLogic
|
||||
{
|
||||
List<CargoViewModel>? ReadList(CargoSearchModel? model);
|
||||
CargoViewModel? ReadElement(CargoSearchModel model);
|
||||
bool Create(CargoBindingModel model);
|
||||
bool Update(CargoBindingModel model);
|
||||
bool Delete(CargoBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.BusinessLogicsContracts
|
||||
{
|
||||
public interface IDriverLogic
|
||||
{
|
||||
List<DriverViewModel>? ReadList(DriverSearchModel? model);
|
||||
DriverViewModel? ReadElement(DriverSearchModel model);
|
||||
bool Create(DriverBindingModel model);
|
||||
bool Update(DriverBindingModel model);
|
||||
bool Delete(DriverBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.BusinessLogicsContracts
|
||||
{
|
||||
public interface IPointLogic
|
||||
{
|
||||
List<PointViewModel>? ReadList(PointSearchModel? model);
|
||||
PointViewModel? ReadElement(PointSearchModel model);
|
||||
bool Create(PointBindingModel model);
|
||||
bool Update(PointBindingModel model);
|
||||
bool Delete(PointBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.BusinessLogicsContracts
|
||||
{
|
||||
public interface ITransportLogic
|
||||
{
|
||||
List<TransportViewModel>? ReadList(TransportSearchModel? model);
|
||||
TransportViewModel? ReadElement(TransportSearchModel model);
|
||||
bool Create(TransportBindingModel model);
|
||||
bool Update(TransportBindingModel model);
|
||||
bool Delete(TransportBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.BusinessLogicsContracts
|
||||
{
|
||||
public interface ITransportationLogic
|
||||
{
|
||||
List<TransportationViewModel>? ReadList(TransportationSearchModel? searchModel);
|
||||
bool CreateTransportation(TransportationBindingModel bindingModel);
|
||||
bool DeliveredTransportation(TransportationBindingModel bindingModel);
|
||||
bool ArrivedTransportation(TransportationBindingModel bindingModel);
|
||||
bool IssueTransportation(TransportationBindingModel bindingModel);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
namespace TransportCompanyContracts.SearchModels
|
||||
{
|
||||
public class CargoSearchModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public string? CargoName { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
namespace TransportCompanyContracts.SearchModels
|
||||
{
|
||||
public class DriverSearchModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public string? DriverFio { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
namespace TransportCompanyContracts.SearchModels
|
||||
{
|
||||
public class PointSearchModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public string? PointName { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
namespace TransportCompanyContracts.SearchModels
|
||||
{
|
||||
public class TransportSearchModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public string? Model { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace TransportCompanyContracts.SearchModels
|
||||
{
|
||||
public class TransportationSearchModel
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
public DateTime? DateFrom { get; set; }
|
||||
public DateTime? DateTo { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.StoragesContracts
|
||||
{
|
||||
public interface ICargoStorage
|
||||
{
|
||||
List<CargoViewModel> GetFullList();
|
||||
List<CargoViewModel> GetFilteredList(CargoSearchModel model);
|
||||
CargoViewModel? GetElement(CargoSearchModel model);
|
||||
CargoViewModel? Insert(CargoBindingModel model);
|
||||
CargoViewModel? Update(CargoBindingModel model);
|
||||
CargoViewModel? Delete(CargoBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.StoragesContracts
|
||||
{
|
||||
public interface IDriverStorage
|
||||
{
|
||||
List<DriverViewModel> GetFullList();
|
||||
List<DriverViewModel> GetFilteredList(DriverSearchModel model);
|
||||
DriverViewModel? GetElement(DriverSearchModel model);
|
||||
DriverViewModel? Insert(DriverBindingModel model);
|
||||
DriverViewModel? Update(DriverBindingModel model);
|
||||
DriverViewModel? Delete(DriverBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.StoragesContracts
|
||||
{
|
||||
public interface IPointStorage
|
||||
{
|
||||
List<PointViewModel> GetFullList();
|
||||
List<PointViewModel> GetFilteredList(PointSearchModel model);
|
||||
PointViewModel? GetElement(PointSearchModel model);
|
||||
PointViewModel? Insert(PointBindingModel model);
|
||||
PointViewModel? Update(PointBindingModel model);
|
||||
PointViewModel? Delete(PointBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.StoragesContracts
|
||||
{
|
||||
public interface ITransportStorage
|
||||
{
|
||||
List<TransportViewModel> GetFullList();
|
||||
List<TransportViewModel> GetFilteredList(TransportSearchModel model);
|
||||
TransportViewModel? GetElement(TransportSearchModel model);
|
||||
TransportViewModel? Insert(TransportBindingModel model);
|
||||
TransportViewModel? Update(TransportBindingModel model);
|
||||
TransportViewModel? Delete(TransportBindingModel model);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using TransportCompanyContracts.BindingModels;
|
||||
using TransportCompanyContracts.SearchModels;
|
||||
using TransportCompanyContracts.ViewModels;
|
||||
|
||||
namespace TransportCompanyContracts.StoragesContracts
|
||||
{
|
||||
public interface ITransportationStorage
|
||||
{
|
||||
List<TransportationViewModel> GetFullList();
|
||||
List<TransportationViewModel> GetFilteredList(TransportationSearchModel model);
|
||||
TransportationViewModel? GetElement(TransportationSearchModel model);
|
||||
TransportationViewModel? Insert(TransportationBindingModel model);
|
||||
TransportationViewModel? Update(TransportationBindingModel model);
|
||||
TransportationViewModel? Delete(TransportationBindingModel model);
|
||||
}
|
||||
}
|
@ -6,4 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\TransportCompanyDataModels\TransportCompanyDataModels.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -0,0 +1,16 @@
|
||||
using System.ComponentModel;
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.ViewModels
|
||||
{
|
||||
public class CargoViewModel : ICargoModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
[DisplayName("Груз")]
|
||||
public string CargoName { get; set; } = string.Empty;
|
||||
|
||||
[DisplayName("Вес")]
|
||||
public int Weight { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using System.ComponentModel;
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.ViewModels
|
||||
{
|
||||
public class DriverViewModel : IDriverModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
[DisplayName("ФИО водителя")]
|
||||
public string DriverFio { get; set; } = string.Empty;
|
||||
|
||||
[DisplayName("Номер телефона")]
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
using System.ComponentModel;
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.ViewModels
|
||||
{
|
||||
public class PointViewModel : IPointModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
[DisplayName("Пункт")]
|
||||
public string PointName { get; set; } = string.Empty;
|
||||
|
||||
[DisplayName("Адрес")]
|
||||
public string Address { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
using System.ComponentModel;
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.ViewModels
|
||||
{
|
||||
public class TransportViewModel : ITransportModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
[DisplayName("Модель")]
|
||||
public string Model { get; set; } = string.Empty;
|
||||
|
||||
[DisplayName("Вместимость")]
|
||||
public int LoadCapacity { get; set; }
|
||||
|
||||
[DisplayName("Автомобильный номер")]
|
||||
public string StateNumber { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
using System.ComponentModel;
|
||||
using TransportCompanyDataModels.Enums;
|
||||
using TransportCompanyDataModels.Models;
|
||||
|
||||
namespace TransportCompanyContracts.ViewModels
|
||||
{
|
||||
public class TransportationViewModel : ITransportationModel
|
||||
{
|
||||
[DisplayName("Номер")]
|
||||
public int Id { get; set; }
|
||||
|
||||
public int DriverId { get; set; }
|
||||
|
||||
[DisplayName("Водитель")]
|
||||
public string DriverFio { get; set; } = string.Empty;
|
||||
|
||||
public int TransportId { get; set; }
|
||||
|
||||
[DisplayName("Машина")]
|
||||
public string Model { get; set; } = string.Empty;
|
||||
|
||||
public int PointToId { get; set; }
|
||||
|
||||
[DisplayName("Откуда")]
|
||||
public string PointNameTo { get; set; } = string.Empty;
|
||||
|
||||
public int PointFromId { get; set; }
|
||||
|
||||
[DisplayName("Куда")]
|
||||
public string PointNameFrom { get; set; } = string.Empty;
|
||||
|
||||
[DisplayName("Статус")]
|
||||
public TransportationStatus Status { get; set; } = TransportationStatus.Неизвестен;
|
||||
|
||||
[DisplayName("Дата отбытия")]
|
||||
public DateTime DepartureDate { get; set; } = DateTime.Now;
|
||||
|
||||
[DisplayName("Дата прибытия")]
|
||||
public DateTime? ArrivalDate { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
namespace TransportCompanyDataModels.Enums
|
||||
{
|
||||
public enum TransportationStatus
|
||||
{
|
||||
Неизвестен = -1,
|
||||
|
||||
Принят = 0,
|
||||
|
||||
Доставляется = 1,
|
||||
|
||||
Прибыл = 2,
|
||||
|
||||
Выдан = 3
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public interface ICargoModel : IId
|
||||
{
|
||||
string Name { get; }
|
||||
string CargoName { get; }
|
||||
int Weight { get; }
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
{
|
||||
public interface IDriverModel : IId
|
||||
{
|
||||
string Fio { get; }
|
||||
string DriverFio { get; }
|
||||
string PhoneNumber { get; }
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public interface IPointModel : IId
|
||||
{
|
||||
string Name { get; }
|
||||
string PointName { get; }
|
||||
string Address { get; }
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
namespace TransportCompanyDataModels.Models
|
||||
using TransportCompanyDataModels.Enums;
|
||||
|
||||
namespace TransportCompanyDataModels.Models
|
||||
{
|
||||
public interface ITransportationModel : IId
|
||||
{
|
||||
@ -6,7 +8,8 @@
|
||||
int TransportId { get; }
|
||||
int PointToId { get; }
|
||||
int PointFromId { get; }
|
||||
TransportationStatus Status { get; }
|
||||
DateTime DepartureDate { get; }
|
||||
DateTime ArrivalDate { get; }
|
||||
DateTime? ArrivalDate { get; }
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user