From a0251dbb00f3c2d19a62d129519a513bc1d0b707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=98?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Sun, 25 Feb 2024 12:18:35 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BB=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BindingModels/CargoBindingModel.cs | 11 +++++ .../BindingModels/DriverBindingModel.cs | 11 +++++ .../BindingModels/PointBindingModel.cs | 11 +++++ .../BindingModels/TransportBindingModel.cs | 12 ++++++ .../TransportationBindingModel.cs | 17 ++++++++ .../BusinessLogicsContracts/ICargoLogic.cs | 15 +++++++ .../BusinessLogicsContracts/IDriverLogic.cs | 15 +++++++ .../BusinessLogicsContracts/IPointLogic.cs | 15 +++++++ .../ITransportLogic.cs | 15 +++++++ .../ITransportationLogic.cs | 16 ++++++++ .../SearchModels/CargoSearchModel.cs | 8 ++++ .../SearchModels/DriverSearchModel.cs | 8 ++++ .../SearchModels/PointSearchModel.cs | 8 ++++ .../SearchModels/TransportSearchModel.cs | 8 ++++ .../SearchModels/TransportationSearchModel.cs | 9 ++++ .../StoragesContracts/ICargoStorage.cs | 16 ++++++++ .../StoragesContracts/IDriverStorage.cs | 16 ++++++++ .../StoragesContracts/IPointStorage.cs | 21 ++++++++++ .../StoragesContracts/ITransportStorage.cs | 16 ++++++++ .../ITransportationStorage.cs | 16 ++++++++ .../TransportCompanyContracts.csproj | 4 ++ .../ViewModels/CargoViewModel.cs | 16 ++++++++ .../ViewModels/DriverViewModel.cs | 16 ++++++++ .../ViewModels/PointViewModel.cs | 16 ++++++++ .../ViewModels/TransportViewModel.cs | 19 +++++++++ .../ViewModels/TransportationViewModel.cs | 41 +++++++++++++++++++ .../Enums/TransportationStatus.cs | 15 +++++++ .../Models/ICargoModel.cs | 2 +- .../Models/IDriverModel.cs | 3 +- .../Models/IPointModel.cs | 2 +- .../Models/ITransportationModel.cs | 7 +++- 31 files changed, 400 insertions(+), 5 deletions(-) create mode 100644 TransportCompany/TransportCompanyContracts/BindingModels/CargoBindingModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/BindingModels/DriverBindingModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/BindingModels/PointBindingModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/BindingModels/TransportBindingModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/BindingModels/TransportationBindingModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ICargoLogic.cs create mode 100644 TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IDriverLogic.cs create mode 100644 TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IPointLogic.cs create mode 100644 TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportLogic.cs create mode 100644 TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportationLogic.cs create mode 100644 TransportCompany/TransportCompanyContracts/SearchModels/CargoSearchModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/SearchModels/DriverSearchModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/SearchModels/PointSearchModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/SearchModels/TransportSearchModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/SearchModels/TransportationSearchModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/StoragesContracts/ICargoStorage.cs create mode 100644 TransportCompany/TransportCompanyContracts/StoragesContracts/IDriverStorage.cs create mode 100644 TransportCompany/TransportCompanyContracts/StoragesContracts/IPointStorage.cs create mode 100644 TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportStorage.cs create mode 100644 TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportationStorage.cs create mode 100644 TransportCompany/TransportCompanyContracts/ViewModels/CargoViewModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/ViewModels/DriverViewModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/ViewModels/PointViewModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/ViewModels/TransportViewModel.cs create mode 100644 TransportCompany/TransportCompanyContracts/ViewModels/TransportationViewModel.cs create mode 100644 TransportCompany/TransportCompanyDataModels/Enums/TransportationStatus.cs diff --git a/TransportCompany/TransportCompanyContracts/BindingModels/CargoBindingModel.cs b/TransportCompany/TransportCompanyContracts/BindingModels/CargoBindingModel.cs new file mode 100644 index 0000000..7252eb6 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BindingModels/CargoBindingModel.cs @@ -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; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/BindingModels/DriverBindingModel.cs b/TransportCompany/TransportCompanyContracts/BindingModels/DriverBindingModel.cs new file mode 100644 index 0000000..d496ecd --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BindingModels/DriverBindingModel.cs @@ -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; + } +} diff --git a/TransportCompany/TransportCompanyContracts/BindingModels/PointBindingModel.cs b/TransportCompany/TransportCompanyContracts/BindingModels/PointBindingModel.cs new file mode 100644 index 0000000..f9d4e3a --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BindingModels/PointBindingModel.cs @@ -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; + } +} diff --git a/TransportCompany/TransportCompanyContracts/BindingModels/TransportBindingModel.cs b/TransportCompany/TransportCompanyContracts/BindingModels/TransportBindingModel.cs new file mode 100644 index 0000000..c743ba7 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BindingModels/TransportBindingModel.cs @@ -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; + } +} diff --git a/TransportCompany/TransportCompanyContracts/BindingModels/TransportationBindingModel.cs b/TransportCompany/TransportCompanyContracts/BindingModels/TransportationBindingModel.cs new file mode 100644 index 0000000..d730f1d --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BindingModels/TransportationBindingModel.cs @@ -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; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ICargoLogic.cs b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ICargoLogic.cs new file mode 100644 index 0000000..4daecbb --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ICargoLogic.cs @@ -0,0 +1,15 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.BusinessLogicsContracts +{ + public interface ICargoLogic + { + List? ReadList(CargoSearchModel? model); + CargoViewModel? ReadElement(CargoSearchModel model); + bool Create(CargoBindingModel model); + bool Update(CargoBindingModel model); + bool Delete(CargoBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IDriverLogic.cs b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IDriverLogic.cs new file mode 100644 index 0000000..0fc0e9b --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IDriverLogic.cs @@ -0,0 +1,15 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.BusinessLogicsContracts +{ + public interface IDriverLogic + { + List? ReadList(DriverSearchModel? model); + DriverViewModel? ReadElement(DriverSearchModel model); + bool Create(DriverBindingModel model); + bool Update(DriverBindingModel model); + bool Delete(DriverBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IPointLogic.cs b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IPointLogic.cs new file mode 100644 index 0000000..5786858 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/IPointLogic.cs @@ -0,0 +1,15 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.BusinessLogicsContracts +{ + public interface IPointLogic + { + List? ReadList(PointSearchModel? model); + PointViewModel? ReadElement(PointSearchModel model); + bool Create(PointBindingModel model); + bool Update(PointBindingModel model); + bool Delete(PointBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportLogic.cs b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportLogic.cs new file mode 100644 index 0000000..194c25f --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportLogic.cs @@ -0,0 +1,15 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.BusinessLogicsContracts +{ + public interface ITransportLogic + { + List? ReadList(TransportSearchModel? model); + TransportViewModel? ReadElement(TransportSearchModel model); + bool Create(TransportBindingModel model); + bool Update(TransportBindingModel model); + bool Delete(TransportBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportationLogic.cs b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportationLogic.cs new file mode 100644 index 0000000..a47c76e --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/BusinessLogicsContracts/ITransportationLogic.cs @@ -0,0 +1,16 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.BusinessLogicsContracts +{ + public interface ITransportationLogic + { + List? ReadList(TransportationSearchModel? searchModel); + bool CreateTransportation(TransportationBindingModel bindingModel); + bool DeliveredTransportation(TransportationBindingModel bindingModel); + bool ArrivedTransportation(TransportationBindingModel bindingModel); + bool IssueTransportation(TransportationBindingModel bindingModel); + + } +} diff --git a/TransportCompany/TransportCompanyContracts/SearchModels/CargoSearchModel.cs b/TransportCompany/TransportCompanyContracts/SearchModels/CargoSearchModel.cs new file mode 100644 index 0000000..4e41f32 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/SearchModels/CargoSearchModel.cs @@ -0,0 +1,8 @@ +namespace TransportCompanyContracts.SearchModels +{ + public class CargoSearchModel + { + public int? Id { get; set; } + public string? CargoName { get; set; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/SearchModels/DriverSearchModel.cs b/TransportCompany/TransportCompanyContracts/SearchModels/DriverSearchModel.cs new file mode 100644 index 0000000..056e30e --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/SearchModels/DriverSearchModel.cs @@ -0,0 +1,8 @@ +namespace TransportCompanyContracts.SearchModels +{ + public class DriverSearchModel + { + public int? Id { get; set; } + public string? DriverFio { get; set; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/SearchModels/PointSearchModel.cs b/TransportCompany/TransportCompanyContracts/SearchModels/PointSearchModel.cs new file mode 100644 index 0000000..9665340 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/SearchModels/PointSearchModel.cs @@ -0,0 +1,8 @@ +namespace TransportCompanyContracts.SearchModels +{ + public class PointSearchModel + { + public int? Id { get; set; } + public string? PointName { get; set; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/SearchModels/TransportSearchModel.cs b/TransportCompany/TransportCompanyContracts/SearchModels/TransportSearchModel.cs new file mode 100644 index 0000000..c8e55f1 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/SearchModels/TransportSearchModel.cs @@ -0,0 +1,8 @@ +namespace TransportCompanyContracts.SearchModels +{ + public class TransportSearchModel + { + public int? Id { get; set; } + public string? Model { get; set; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/SearchModels/TransportationSearchModel.cs b/TransportCompany/TransportCompanyContracts/SearchModels/TransportationSearchModel.cs new file mode 100644 index 0000000..c362897 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/SearchModels/TransportationSearchModel.cs @@ -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; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/StoragesContracts/ICargoStorage.cs b/TransportCompany/TransportCompanyContracts/StoragesContracts/ICargoStorage.cs new file mode 100644 index 0000000..e58e188 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/StoragesContracts/ICargoStorage.cs @@ -0,0 +1,16 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.StoragesContracts +{ + public interface ICargoStorage + { + List GetFullList(); + List GetFilteredList(CargoSearchModel model); + CargoViewModel? GetElement(CargoSearchModel model); + CargoViewModel? Insert(CargoBindingModel model); + CargoViewModel? Update(CargoBindingModel model); + CargoViewModel? Delete(CargoBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/StoragesContracts/IDriverStorage.cs b/TransportCompany/TransportCompanyContracts/StoragesContracts/IDriverStorage.cs new file mode 100644 index 0000000..a7e91f1 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/StoragesContracts/IDriverStorage.cs @@ -0,0 +1,16 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.StoragesContracts +{ + public interface IDriverStorage + { + List GetFullList(); + List GetFilteredList(DriverSearchModel model); + DriverViewModel? GetElement(DriverSearchModel model); + DriverViewModel? Insert(DriverBindingModel model); + DriverViewModel? Update(DriverBindingModel model); + DriverViewModel? Delete(DriverBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/StoragesContracts/IPointStorage.cs b/TransportCompany/TransportCompanyContracts/StoragesContracts/IPointStorage.cs new file mode 100644 index 0000000..54bb4ed --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/StoragesContracts/IPointStorage.cs @@ -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 GetFullList(); + List GetFilteredList(PointSearchModel model); + PointViewModel? GetElement(PointSearchModel model); + PointViewModel? Insert(PointBindingModel model); + PointViewModel? Update(PointBindingModel model); + PointViewModel? Delete(PointBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportStorage.cs b/TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportStorage.cs new file mode 100644 index 0000000..89d58b3 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportStorage.cs @@ -0,0 +1,16 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.StoragesContracts +{ + public interface ITransportStorage + { + List GetFullList(); + List GetFilteredList(TransportSearchModel model); + TransportViewModel? GetElement(TransportSearchModel model); + TransportViewModel? Insert(TransportBindingModel model); + TransportViewModel? Update(TransportBindingModel model); + TransportViewModel? Delete(TransportBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportationStorage.cs b/TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportationStorage.cs new file mode 100644 index 0000000..5d73c28 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/StoragesContracts/ITransportationStorage.cs @@ -0,0 +1,16 @@ +using TransportCompanyContracts.BindingModels; +using TransportCompanyContracts.SearchModels; +using TransportCompanyContracts.ViewModels; + +namespace TransportCompanyContracts.StoragesContracts +{ + public interface ITransportationStorage + { + List GetFullList(); + List GetFilteredList(TransportationSearchModel model); + TransportationViewModel? GetElement(TransportationSearchModel model); + TransportationViewModel? Insert(TransportationBindingModel model); + TransportationViewModel? Update(TransportationBindingModel model); + TransportationViewModel? Delete(TransportationBindingModel model); + } +} diff --git a/TransportCompany/TransportCompanyContracts/TransportCompanyContracts.csproj b/TransportCompany/TransportCompanyContracts/TransportCompanyContracts.csproj index 132c02c..c16170c 100644 --- a/TransportCompany/TransportCompanyContracts/TransportCompanyContracts.csproj +++ b/TransportCompany/TransportCompanyContracts/TransportCompanyContracts.csproj @@ -6,4 +6,8 @@ enable + + + + diff --git a/TransportCompany/TransportCompanyContracts/ViewModels/CargoViewModel.cs b/TransportCompany/TransportCompanyContracts/ViewModels/CargoViewModel.cs new file mode 100644 index 0000000..a301585 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/ViewModels/CargoViewModel.cs @@ -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; } + } +} diff --git a/TransportCompany/TransportCompanyContracts/ViewModels/DriverViewModel.cs b/TransportCompany/TransportCompanyContracts/ViewModels/DriverViewModel.cs new file mode 100644 index 0000000..b7300b3 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/ViewModels/DriverViewModel.cs @@ -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; + } +} diff --git a/TransportCompany/TransportCompanyContracts/ViewModels/PointViewModel.cs b/TransportCompany/TransportCompanyContracts/ViewModels/PointViewModel.cs new file mode 100644 index 0000000..ef050ff --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/ViewModels/PointViewModel.cs @@ -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; + } +} diff --git a/TransportCompany/TransportCompanyContracts/ViewModels/TransportViewModel.cs b/TransportCompany/TransportCompanyContracts/ViewModels/TransportViewModel.cs new file mode 100644 index 0000000..0138192 --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/ViewModels/TransportViewModel.cs @@ -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; + } +} diff --git a/TransportCompany/TransportCompanyContracts/ViewModels/TransportationViewModel.cs b/TransportCompany/TransportCompanyContracts/ViewModels/TransportationViewModel.cs new file mode 100644 index 0000000..1480e5f --- /dev/null +++ b/TransportCompany/TransportCompanyContracts/ViewModels/TransportationViewModel.cs @@ -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; } + } +} diff --git a/TransportCompany/TransportCompanyDataModels/Enums/TransportationStatus.cs b/TransportCompany/TransportCompanyDataModels/Enums/TransportationStatus.cs new file mode 100644 index 0000000..e4df60f --- /dev/null +++ b/TransportCompany/TransportCompanyDataModels/Enums/TransportationStatus.cs @@ -0,0 +1,15 @@ +namespace TransportCompanyDataModels.Enums +{ + public enum TransportationStatus + { + Неизвестен = -1, + + Принят = 0, + + Доставляется = 1, + + Прибыл = 2, + + Выдан = 3 + } +} diff --git a/TransportCompany/TransportCompanyDataModels/Models/ICargoModel.cs b/TransportCompany/TransportCompanyDataModels/Models/ICargoModel.cs index 9f60e6f..f31e87b 100644 --- a/TransportCompany/TransportCompanyDataModels/Models/ICargoModel.cs +++ b/TransportCompany/TransportCompanyDataModels/Models/ICargoModel.cs @@ -2,7 +2,7 @@ { public interface ICargoModel : IId { - string Name { get; } + string CargoName { get; } int Weight { get; } } } diff --git a/TransportCompany/TransportCompanyDataModels/Models/IDriverModel.cs b/TransportCompany/TransportCompanyDataModels/Models/IDriverModel.cs index 8b470b5..2991266 100644 --- a/TransportCompany/TransportCompanyDataModels/Models/IDriverModel.cs +++ b/TransportCompany/TransportCompanyDataModels/Models/IDriverModel.cs @@ -2,6 +2,7 @@ { public interface IDriverModel : IId { - string Fio { get; } + string DriverFio { get; } + string PhoneNumber { get; } } } diff --git a/TransportCompany/TransportCompanyDataModels/Models/IPointModel.cs b/TransportCompany/TransportCompanyDataModels/Models/IPointModel.cs index 1b4cae5..55544eb 100644 --- a/TransportCompany/TransportCompanyDataModels/Models/IPointModel.cs +++ b/TransportCompany/TransportCompanyDataModels/Models/IPointModel.cs @@ -2,7 +2,7 @@ { public interface IPointModel : IId { - string Name { get; } + string PointName { get; } string Address { get; } } } diff --git a/TransportCompany/TransportCompanyDataModels/Models/ITransportationModel.cs b/TransportCompany/TransportCompanyDataModels/Models/ITransportationModel.cs index 632bc32..d9f62bb 100644 --- a/TransportCompany/TransportCompanyDataModels/Models/ITransportationModel.cs +++ b/TransportCompany/TransportCompanyDataModels/Models/ITransportationModel.cs @@ -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; } } }