public IActionResult AddProductSales(Object jsonResult) { dynamic reqBody = JObject.Parse(jsonResult.ToString()); //var productDtos = _inventoryService.GetProducts(reqBody.productIds.ToObject<List<int>>()); //var saleProducts = _mapper.Map<List<ProductDto>, List<Product>>(productDtos); var saleProducts = _inventoryService.GetProducts(reqBody.productIds.ToObject <List <int> >()); int saleId = reqBody.saleId; SaleInvoice sale = _saleService.GetSale(saleId); if (sale == null) { return(BadRequest("This sale does not exist")); } else if (sale.Finalised == true) { return(BadRequest("This Sale Has Already Been Finalised")); } else if (sale != null && saleProducts.Count > 0) { var productSales = _saleService.ApplyPromotionsToSale(sale.Id, saleProducts); _saleService.ProcessProductSales(sale, productSales); SaleInvoiceDto invoice = _mapper.Map <SaleInvoice, SaleInvoiceDto>(sale); invoice.Products = _mapper.Map <IList <ProductSale>, IList <ProductSaleDto> >(productSales); return(Ok(invoice)); } else { return(BadRequest("There are no products to add")); } }
public IActionResult CancelSale(SaleInvoiceDto saleDto) { int saleId = saleDto.Id; if (saleId == 0) { return(BadRequest("0 is not a valid saleId number")); } var sale = _saleService.GetSale(saleId); if (sale != null) { _saleService.CancelSale(saleId); return(Ok()); } return(BadRequest()); }