public static SaleInventory MakeInventory(RegisterSaleRequest request) { try { var config = request.TotalValueCalculationConfig; var saleInventory = new SaleInventory() { ProductId = request.ProductId, QuantitySold = request.QuantitySold, Taxes = request.IncludedTaxes, IncludedServices = request.IncludedServices }; if (config.OverrideUnitaryPrice) { saleInventory.UnitaryPrice = request.TotalValueCalculationConfig.UnitaryPrice; } SetSaleInventoryStates(request, saleInventory); return(saleInventory); } catch (Exception e) { throw e; } }
public Sale Execute(RegisterSaleRequest request) { try { return(SaleFactory.Make(request)); } catch (Exception e) { throw e; } }
private static SaleInventory BuildInventory(RegisterSaleRequest request) { try { return(SaleInventoryFactory.MakeInventory(request)); } catch (Exception e) { throw e; } }
public static Sale Make(RegisterSaleRequest request) { var sale = new Sale() { Plataform = request.Plataform, PlatformSaleId = request.PlatformSaleId, Status = SaleStatus.Pending, Inventory = SaleInventoryFactory.MakeInventory(request) }; return(sale); }
private static void SetSaleInventoryStates(RegisterSaleRequest request, SaleInventory inventory) { try { if (request.TotalValueCalculationConfig.OverrideUnitaryPrice) { inventory.States.UnitaryPriceWasOverridden = true; } } catch (Exception e) { throw e; } }
public static async Task <string> RegisterNewSaleAsync(RegisterSaleRequest request) { try { var sale = SaleUseCases.CreateNewSale.Execute(request); await SaleEntity.ValidateNewSale(sale); await SaleUseCases.RegisterSale.Execute(sale); return(sale.Id.ToString()); } catch (Exception) { throw; } }
public static Sale BuildSale(RegisterSaleRequest request) { try { var config = request.TotalValueCalculationConfig; var sale = new Sale() { Status = request.Status, Plataform = request.Plataform, Inventory = BuildInventory(request) }; return(sale); } catch (Exception e) { throw e; } }
public RegisterSaleRequest Adapt(GrpcRegisteSaleRequest grpcRequest) { try { var request = new RegisterSaleRequest() { ProductId = grpcRequest.ProductId, QuantitySold = grpcRequest.QuantitySold, Plataform = grpcRequest.Plataform, PlatformSaleId = grpcRequest.PlatformSaleId, Status = DetermineStatus(grpcRequest.Status) }; return(request); } catch (Exception) { throw; } }