diff --git a/TIAM.Database/DataLayers/TransferDestinations/TransferDestinationDal.cs b/TIAM.Database/DataLayers/TransferDestinations/TransferDestinationDal.cs index 7a69fd1c..9264ef54 100644 --- a/TIAM.Database/DataLayers/TransferDestinations/TransferDestinationDal.cs +++ b/TIAM.Database/DataLayers/TransferDestinations/TransferDestinationDal.cs @@ -21,9 +21,6 @@ public class TransferDestinationDal : DalBase public Task CreateTransferDestinationAsync(TransferDestination transferDestination) { - //transferDestination.Created = DateTime.UtcNow; - //transferDestination.Modified = DateTime.UtcNow; - if (transferDestination.Id.IsNullOrEmpty()) transferDestination.Id = Guid.NewGuid(); @@ -31,17 +28,29 @@ public class TransferDestinationDal : DalBase return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0); } + public async Task DeleteTransferDestinationAsync(Guid transferDestinationId) + { + var transferDestination = await Context.TransferDestinations.FirstOrDefaultAsync(x => x.Id == transferDestinationId); + if (transferDestination == null) + return true; + + Context.TransferDestinations.Remove(transferDestination); + return await Context.SaveChangesAsync() > 0; + } + public Task UpdateTransferDestinationAsync(TransferDestination transferDestination) { - //transferDestination.Modified = DateTime.UtcNow; Context.TransferDestinations.Update(transferDestination); return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0); } + public Task GetTransferDestinationById(Guid transferDestionationId) + { + return Context.TransferDestinations.FirstOrDefaultAsync(x => x.Id == transferDestionationId); + } + public Task> GetTransferDestinations() { - return Context.TransferDestinations.ToListAsync(); - } } \ No newline at end of file diff --git a/TIAM.Entities/TIAM.Entities.csproj b/TIAM.Entities/TIAM.Entities.csproj index 5c9de38f..37cf4d4b 100644 --- a/TIAM.Entities/TIAM.Entities.csproj +++ b/TIAM.Entities/TIAM.Entities.csproj @@ -31,4 +31,8 @@ + + + + diff --git a/TIAM.Entities/TransferDestinations/TransferDestination.cs b/TIAM.Entities/TransferDestinations/TransferDestination.cs index 117b670c..16d538db 100644 --- a/TIAM.Entities/TransferDestinations/TransferDestination.cs +++ b/TIAM.Entities/TransferDestinations/TransferDestination.cs @@ -7,27 +7,49 @@ using System.Text.RegularExpressions; namespace TIAM.Entities.TransferDestinations { - [Table("TransferDestinations")] - public class TransferDestination : LocationBase, ITimeStampInfo + public enum PriceType : byte { - //[Required(ErrorMessage = "The Username value should be specified.")] - public string? Name { get; set; } + NotSet = 5, + Fix = 10, + Calculated = 15 + } - public string? Description { get; set; } + [Table("TransferDestination")] + public class TransferDestination : IEntityGuid, ITimeStampInfo //LocationBase + { + [Key, DatabaseGenerated(DatabaseGeneratedOption.None)] + public Guid Id { get; set; } + public Guid AddressId { get; set; } + + //[Required(ErrorMessage = "The Username value should be specified.")] + public string Name { get; set; } + + public string Description { get; set; } + + public double Price { get; set; } + public PriceType PriceType { get; set; } + + //TEMPORARY!!! + public string AddressString { get; set; } public DateTime Created { get; set; } public DateTime Modified { get; set; } public TransferDestination() { } - public TransferDestination(double latitude, double longitude, string address) : this(Guid.NewGuid(), latitude, longitude, address) { } - public TransferDestination(Guid id, double latitude, double longitude, string address) : base(id, latitude, longitude, address) { } + public TransferDestination(string addressString) : this(Guid.NewGuid(), addressString) { } + //public TransferDestination(Guid id, double latitude, double longitude, string address) : base(id, latitude, longitude, address) { } - public TransferDestination(Guid id, string name, double latitude, double longitude, string address) : this(id, latitude, longitude, address) + public TransferDestination(Guid id, string addressString) + { + Id = id; + AddressString = addressString; + } + public TransferDestination(Guid id, string name, string addressString) : this(id, addressString) { Name = name; } - public TransferDestination(Guid id, string name, string description, double latitude, double longitude, string address) : this(id, name, latitude, longitude, address) + public TransferDestination(Guid id, string name, string description, string addressString) : this(id, name, addressString) { Description = description; } diff --git a/TIAMSharedUI/Pages/TestPage.razor b/TIAMSharedUI/Pages/TestPage.razor index 6c32feb2..bc1259e3 100644 --- a/TIAMSharedUI/Pages/TestPage.razor +++ b/TIAMSharedUI/Pages/TestPage.razor @@ -95,8 +95,8 @@ }; public List TransferDestinationIgnorList = new List { - "Latitude", - "Longitude" + // "Latitude", + // "Longitude" }; diff --git a/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs b/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs index 6e6a4032..d1ec118b 100644 --- a/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs +++ b/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs @@ -58,7 +58,7 @@ namespace TIAMWebApp.Server.Controllers [Route("GetTransferDestinationByCoordinates")] public async Task GetTransferDestinationByCoordinates(double latitude, double longitude) { - return await _transferDestinationDal.Context.TransferDestinations.FirstOrDefaultAsync(x => x.Latitude == latitude && x.Longitude == longitude); + return null;// await _transferDestinationDal.Context.TransferDestinations.FirstOrDefaultAsync(x => x.Latitude == latitude && x.Longitude == longitude); } [AllowAnonymous] @@ -66,7 +66,7 @@ namespace TIAMWebApp.Server.Controllers [Route("GetTransferDestinationByAddress")] public async Task GetTransferDestinationByAddress(string address) { - return await _transferDestinationDal.Context.TransferDestinations.FirstOrDefaultAsync(x => x.Address == address); + return null;//await _transferDestinationDal.Context.TransferDestinations.FirstOrDefaultAsync(x => x.Address == address); } [AllowAnonymous] @@ -87,19 +87,25 @@ namespace TIAMWebApp.Server.Controllers { var id = Guid.NewGuid(); - TransferDestination transferDestination = new TransferDestination(id, transferDestinationModel.Name, transferDestinationModel.Description, transferDestinationModel.Latitude, transferDestinationModel.Longitude, transferDestinationModel.Address); + TransferDestination transferDestination = new TransferDestination(id, transferDestinationModel.Name, transferDestinationModel.Description, transferDestinationModel.AddressString); - if (string.IsNullOrEmpty(transferDestinationModel.Name) || string.IsNullOrEmpty(transferDestinationModel.Address)) + if (string.IsNullOrEmpty(transferDestinationModel.Name) || string.IsNullOrEmpty(transferDestinationModel.AddressString)) { return BadRequest("Invalid request"); } else { Console.WriteLine($"TransferDestination to be created: {id}"); - Console.WriteLine($"TransferDestination to be created: {transferDestination.Latitude}"); - Console.WriteLine($"TransferDestination to be created: {transferDestination.Longitude}"); - Console.WriteLine($"TransferDestination to be created: {transferDestination.Address}"); + Console.WriteLine($"TransferDestination to be created: {transferDestination.Name}"); + Console.WriteLine($"TransferDestination to be created: {transferDestination.Price}"); + Console.WriteLine($"TransferDestination to be created: {transferDestination.PriceType}"); + Console.WriteLine($"TransferDestination to be created: {transferDestination.AddressString}"); + Console.WriteLine($"TransferDestination to be created: {transferDestination.Description}"); + + transferDestination.AddressId = Guid.Empty; + transferDestination.Price = 15000; + transferDestination.PriceType = PriceType.Fix; //await _transferDestinationDal.Context.TransferDestinations.AddAsync(transferDestination); await _transferDestinationDal.CreateTransferDestinationAsync(transferDestination); diff --git a/TIAMWebApp/Shared/Models/ClientSide/UI/WizardModels/TransferDestinationWizardModel.cs b/TIAMWebApp/Shared/Models/ClientSide/UI/WizardModels/TransferDestinationWizardModel.cs index 41a65aec..1ae92f63 100644 --- a/TIAMWebApp/Shared/Models/ClientSide/UI/WizardModels/TransferDestinationWizardModel.cs +++ b/TIAMWebApp/Shared/Models/ClientSide/UI/WizardModels/TransferDestinationWizardModel.cs @@ -18,23 +18,24 @@ namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels [Required(ErrorMessage = "The Destination name should be specified.")] [DataType(DataType.Text)] [Display(Name = ResourceKeys.DestinationName, ResourceType = typeof(TIAMResources))] - public string? Name { get; set; } + public string Name { get; set; } [Required(ErrorMessage = "The Destination info should be specified.")] [DataType(DataType.MultilineText)] [Display(Name = ResourceKeys.DestinationInfo, ResourceType = typeof(TIAMResources))] - public string? Description { get; set; } + public string Description { get; set; } [Required(ErrorMessage = "The address should be specified.")] [DataType(DataType.Text)] [Display(Name = ResourceKeys.DestinationAddress, ResourceType = typeof(TIAMResources))] - public string? Address { get; set; } - [DataType("Latitude")] - [Display(Name = "Destination latitude")] - public double Latitude { get; set; } - [DataType("Longitude")] - [Display(Name = "Destination longitude")] - public double Longitude { get; set; } + public string AddressString { get; set; } + + //[DataType("Latitude")] + //[Display(Name = "Destination latitude")] + //public double Latitude { get; set; } + //[DataType("Longitude")] + //[Display(Name = "Destination longitude")] + //public double Longitude { get; set; } public TransferDestinationWizardModel() { }