Compare commits
5 Commits
8583171b76
...
c3d2c5014a
| Author | SHA1 | Date |
|---|---|---|
|
|
c3d2c5014a | |
|
|
2751573edd | |
|
|
2aa129528f | |
|
|
c8d2ec645d | |
|
|
f678a5a8e4 |
|
|
@ -4,6 +4,7 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AyCode.Database;
|
||||
using AyCode.Utils.Extensions;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Identity.Client;
|
||||
using TIAM.Database.DbContexts.Transfers;
|
||||
|
|
@ -20,23 +21,36 @@ public class TransferDestinationDal : DalBase<TransferDestinationDbContext>
|
|||
|
||||
public Task<bool> CreateTransferDestinationAsync(TransferDestination transferDestination)
|
||||
{
|
||||
//transferDestination.Created = DateTime.UtcNow;
|
||||
//transferDestination.Modified = DateTime.UtcNow;
|
||||
if (transferDestination.Id.IsNullOrEmpty())
|
||||
transferDestination.Id = Guid.NewGuid();
|
||||
|
||||
Context.TransferDestinations.Add(transferDestination);
|
||||
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
||||
}
|
||||
|
||||
public async Task<bool> 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<bool> UpdateTransferDestinationAsync(TransferDestination transferDestination)
|
||||
{
|
||||
//transferDestination.Modified = DateTime.UtcNow;
|
||||
Context.TransferDestinations.Update(transferDestination);
|
||||
return Context.SaveChangesAsync().ContinueWith(x => x.Result > 0);
|
||||
}
|
||||
|
||||
public Task<TransferDestination?> GetTransferDestinationById(Guid transferDestionationId)
|
||||
{
|
||||
return Context.TransferDestinations.FirstOrDefaultAsync(x => x.Id == transferDestionationId);
|
||||
}
|
||||
|
||||
public Task<List<TransferDestination>> GetTransferDestinations()
|
||||
{
|
||||
|
||||
return Context.TransferDestinations.ToListAsync();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -31,4 +31,8 @@
|
|||
<ProjectReference Include="..\TIAM.Core\TIAM.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Emails\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -7,22 +7,52 @@ 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(Guid.NewGuid(), latitude, longitude, address) { }
|
||||
public TransferDestination(Guid id, string name, double latitude, double longitude, string address) : base(id, latitude,longitude, address) { }
|
||||
public TransferDestination(Guid id, string name, string description, 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 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, string addressString) : this(id, name, addressString)
|
||||
{
|
||||
Description = description;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,11 +17,25 @@ namespace TIAMMobileApp.Services
|
|||
this.http = http;
|
||||
}
|
||||
|
||||
public async Task<bool> CreateTransferDestination(TransferDestinationWizardModel model)
|
||||
public async Task<TransferDestination?> CreateTransferDestination(TransferDestinationWizardModel model)
|
||||
{
|
||||
var url = $"{Setting.BaseUrl}/{APIUrls.CreateTransferDestination}";
|
||||
var response = await http.PostAsJsonAsync(url, model);
|
||||
return response.IsSuccessStatusCode;
|
||||
|
||||
//var result = new WizardProcessorResult();
|
||||
|
||||
//if (response.IsSuccessStatusCode)
|
||||
//{
|
||||
// result.IsSucces = true;
|
||||
// result.ResultJson = await response.Content.ReadAsStringAsync();
|
||||
//}
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
return null;
|
||||
|
||||
var result = (TransferDestination)(await response.Content.ReadFromJsonAsync(typeof(TransferDestination)))!;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
using TIAM.Entities.TransferDestinations;
|
||||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
using TIAMWebApp.Shared.Application.Models;
|
||||
using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels;
|
||||
|
||||
namespace TIAMMobileApp.Services
|
||||
|
|
@ -16,20 +17,22 @@ namespace TIAMMobileApp.Services
|
|||
this.userDataService = userDataService;
|
||||
}
|
||||
|
||||
public async Task<string> ProcessWizardAsync(Type type, object data)
|
||||
public async Task<TModelType?> ProcessWizardAsync<TModelType>(Type type, object data) where TModelType: class
|
||||
{
|
||||
switch (type.Name)
|
||||
{
|
||||
case "TransferDestinationWizardModel":
|
||||
var result = await transferDataService.CreateTransferDestination((TransferDestinationWizardModel)data);
|
||||
if (result)
|
||||
return "Success";
|
||||
else
|
||||
return "Failed";
|
||||
return result as TModelType;
|
||||
|
||||
//var a = new WizardProcessorResult<TransferDestination>();
|
||||
//a.Model = result;
|
||||
//return a as TResult;
|
||||
|
||||
case "ServiceProvider":
|
||||
return null;
|
||||
default:
|
||||
return "Not implemented";
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
|
||||
<TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
|
||||
<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
@using TIAMWebApp.Shared.Application.Interfaces
|
||||
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
||||
@using TIAMWebApp.Shared.Application.Utility
|
||||
@using TIAM.Entities.TransferDestinations
|
||||
@inject LogToBrowserConsole logToBrowserConsole
|
||||
@inject IWizardProcessor WizardProcessor
|
||||
<h3>TestPage</h3>
|
||||
|
|
@ -94,9 +95,8 @@
|
|||
};
|
||||
public List<string> TransferDestinationIgnorList = new List<string>
|
||||
{
|
||||
"Id",
|
||||
"Created",
|
||||
"Modified"
|
||||
// "Latitude",
|
||||
// "Longitude"
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -130,7 +130,7 @@
|
|||
|
||||
public async Task SubmitForm(object Result)
|
||||
{
|
||||
//await WizardProcessor.ProcessWizardAsync(Result.GetType(), Result);
|
||||
var transferDestination = await WizardProcessor.ProcessWizardAsync<TransferDestination>(Result.GetType(), Result);
|
||||
logToBrowserConsole.LogToBC($"Submitted nested form: {Result.GetType().FullName}");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<ItemGroup>
|
||||
<PackageReference Include="Blazor.AnimateOnScroll" Version="1.1.0" />
|
||||
<PackageReference Include="BlazorAnimation" Version="2.2.0" />
|
||||
<PackageReference Include="DevExpress.Blazor" Version="23.1.3" />
|
||||
<PackageReference Include="DevExpress.Blazor" Version="23.2.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.0" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
|
|
@ -39,11 +39,25 @@ namespace TIAMWebApp.Client.Services
|
|||
return await http.GetFromJsonAsync<TransferDestination>(url);
|
||||
}
|
||||
|
||||
public async Task<bool> CreateTransferDestination(TransferDestinationWizardModel model)
|
||||
public async Task<TransferDestination?> CreateTransferDestination(TransferDestinationWizardModel model)
|
||||
{
|
||||
var url = $"{Setting.BaseUrl}/{APIUrls.CreateTransferDestination}";
|
||||
var response = await http.PostAsJsonAsync(url, model);
|
||||
return response.IsSuccessStatusCode;
|
||||
|
||||
//var result = new WizardProcessorResult();
|
||||
|
||||
//if (response.IsSuccessStatusCode)
|
||||
//{
|
||||
// result.IsSucces = true;
|
||||
// result.ResultJson = await response.Content.ReadAsStringAsync();
|
||||
//}
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
return null;
|
||||
|
||||
var result = (TransferDestination)(await response.Content.ReadFromJsonAsync(typeof(TransferDestination)))!;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,20 +16,18 @@ namespace TIAMWebApp.Client.Services
|
|||
this.userDataService = userDataService;
|
||||
}
|
||||
|
||||
public async Task<string> ProcessWizardAsync(Type type, object data)
|
||||
public async Task<TModelType?> ProcessWizardAsync<TModelType>(Type type, object data) where TModelType: class
|
||||
{
|
||||
switch (type.Name)
|
||||
{
|
||||
case "TransferDestinationWizardModel":
|
||||
var result = await transferDataService.CreateTransferDestination((TransferDestinationWizardModel)data);
|
||||
if (result)
|
||||
return "Success";
|
||||
else
|
||||
return "Failed";
|
||||
|
||||
return result as TModelType;
|
||||
|
||||
case "ServiceProvider":
|
||||
return null;
|
||||
default:
|
||||
return "Not implemented";
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
[Route("GetTransferDestinationByCoordinates")]
|
||||
public async Task<TransferDestination?> 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<TransferDestination?> 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]
|
||||
|
|
@ -86,24 +86,30 @@ namespace TIAMWebApp.Server.Controllers
|
|||
if (transferDestinationModel != null)
|
||||
{
|
||||
|
||||
var Id = Guid.NewGuid();
|
||||
TransferDestination transferDestination = new TransferDestination(Id, transferDestinationModel.Name, transferDestinationModel.Description, transferDestinationModel.Latitude, transferDestinationModel.Longitude, transferDestinationModel.Address);
|
||||
var id = Guid.NewGuid();
|
||||
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: {id}");
|
||||
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);
|
||||
return Ok("yes");
|
||||
return Ok(transferDestination);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,6 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
|||
Task<TransferDestination[]> GetDestinationsAsync();
|
||||
Task<TransferDestination?> GetTransferDestinationbyCoordinatesAsync(string destinationId);
|
||||
Task<TransferDestination?> GetTransferDestinationbyAddressAsync(string destinationId);
|
||||
Task<bool> CreateTransferDestination(TransferDestinationWizardModel model);
|
||||
Task<TransferDestination?> CreateTransferDestination(TransferDestinationWizardModel model);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
|||
{
|
||||
public interface IWizardProcessor
|
||||
{
|
||||
public Task<string> ProcessWizardAsync(Type type, object data);
|
||||
public Task<TModelType?> ProcessWizardAsync<TModelType>(Type type, object data) where TModelType : class;
|
||||
|
||||
public Task<string> ValidateWizardStepAsync(Type type, string fieldName, object fieldValue);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
namespace TIAMWebApp.Shared.Application.Interfaces;
|
||||
|
||||
public interface IWizardProcessorResult<TModelType>
|
||||
{
|
||||
public TModelType Model { get; set; }
|
||||
public string ResultJson { get; set; }
|
||||
public bool IsSucces { get; set; }
|
||||
}
|
||||
|
|
@ -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() { }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,10 @@
|
|||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
|
||||
namespace TIAMWebApp.Shared.Application.Models;
|
||||
|
||||
public class WizardProcessorResult<TModel> : IWizardProcessorResult<TModel>
|
||||
{
|
||||
public TModel Model { get; set; }
|
||||
public string ResultJson { get; set; }
|
||||
public bool IsSucces { get; set; }
|
||||
}
|
||||
Loading…
Reference in New Issue