diff --git a/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs b/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs index 3090035f..5a1ddbe1 100644 --- a/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs +++ b/TIAMWebApp/Server/Controllers/TransferDataAPIController.cs @@ -48,51 +48,7 @@ namespace TIAMWebApp.Server.Controllers _adminDal = adminDal; } - public double GetTransferPrice(Guid productId, Guid fromTransferDestinationId, Guid toTranferDestinationId, in byte seatNumber) - { - throw new NotImplementedException(); - } - - public double GetTransferPrice(Guid productId, TransferDestination fromTransferDestination, TransferDestination toTransferDestination, in byte seatNumber) - { - var product = _adminDal.GetProductById(productId); - - if (product == null) return -1; - - return GetTransferPrice(product, fromTransferDestination, toTransferDestination, in seatNumber); - } - - public double GetTransferPrice(Product product, TransferDestination fromTransferDestination, TransferDestination toTransferDestination, in byte seatNumber) - { - var baseDestination = product.Profile.AddressId == fromTransferDestination.AddressId ? toTransferDestination : fromTransferDestination; - - var transferDestinationToProduct = _adminDal.GetTransferDestinationToProduct(product.Id, baseDestination.Id); - - var tranferDestinationPrice = transferDestinationToProduct ?? baseDestination as ITransfeDestinationPrices; - - var price = GetSeatNumberPrice(in tranferDestinationPrice, seatNumber); - - //TODO: ExtraPrice - J. - - return price; - } - - public double GetSeatNumberPrice(in ITransfeDestinationPrices transfeDestinationPrices, in byte seatNumber) - => GetSeatNumberPrice(transfeDestinationPrices.Price, transfeDestinationPrices.Price2, transfeDestinationPrices.Price3, seatNumber); - - public double GetSeatNumberPrice(in double price, in double? price2, in double? price3, in byte seatNumber) - { - return seatNumber switch - { - >= (byte)SeatNumberPriceType.Price3SeatNum => price3 ?? price //TODO: price * seatnum percent - J. - , - >= (byte)SeatNumberPriceType.Price2SeatNum => price2 ?? price //TODO: price * seatnum percent - J. - , - _ => price - }; - } - - //public double GetExtraPrice(bool? extraPriceType){} + [AllowAnonymous] [HttpGet] diff --git a/TIAMWebApp/Server/Services/TransferBackendService.cs b/TIAMWebApp/Server/Services/TransferBackendService.cs index cbb94703..5b2909b3 100644 --- a/TIAMWebApp/Server/Services/TransferBackendService.cs +++ b/TIAMWebApp/Server/Services/TransferBackendService.cs @@ -13,12 +13,11 @@ namespace TIAMWebApp.Server.Services public TransferBackendService(IConfiguration configuration, AdminDal adminDal) { - _configuration = configuration; _adminDal = adminDal; } - public double GetTransferPrice(Guid productId, Guid fromTransferDestinationId, Guid toTranferDestinationId) + public double GetTransferPrice(Guid productId, Guid fromTransferDestinationId, Guid toTranferDestinationId, in byte seatNumber) { throw new NotImplementedException(); } @@ -52,13 +51,15 @@ namespace TIAMWebApp.Server.Services public double GetSeatNumberPrice(in double price, in double? price2, in double? price3, in byte seatNumber) { - if (seatNumber >= (byte)SeatNumberPriceType.Price3SeatNum) - return price3 ?? price; //TODO: *seatnum percent - J. - - if (seatNumber >= (byte)SeatNumberPriceType.Price2SeatNum) - return price2 ?? price; //TODO: *seatnum percent - J. - - return price; + return seatNumber switch + { + >= (byte)SeatNumberPriceType.Price3SeatNum => price3 ?? price //TODO: price * seatnum percent - J. + , + >= (byte)SeatNumberPriceType.Price2SeatNum => price2 ?? price //TODO: price * seatnum percent - J. + , + _ => price + }; } + } }