public IActionResult Allocate(int id) { ViewBag.PageContentHeader = "Receipt Allocation"; var model = new Models.Sales.Allocate(); var receipt = GetAsync <Dto.Sales.SalesReceipt>("sales/salesreceipt?id=" + id).Result; ViewBag.CustomerName = receipt.CustomerName; ViewBag.ReceiptNo = receipt.ReceiptNo; model.CustomerId = receipt.CustomerId; model.ReceiptId = receipt.Id; model.Date = receipt.ReceiptDate; model.Amount = receipt.Amount; model.RemainingAmountToAllocate = receipt.RemainingAmountToAllocate; var invoices = GetAsync <IEnumerable <Dto.Sales.SalesInvoice> >("sales/customerinvoices?id=" + receipt.CustomerId).Result; foreach (var invoice in invoices) { if (invoice.Posted && invoice.TotalAllocatedAmount < invoice.Amount) { model.AllocationLines.Add(new Models.Sales.AllocationLine() { InvoiceId = invoice.Id, Amount = invoice.Amount, AllocatedAmount = invoice.TotalAllocatedAmount }); } } return(View(model)); }
public IActionResult Allocate(Models.Sales.Allocate model) { if (ModelState.IsValid) { if (model.IsValid()) { var serialize = Newtonsoft.Json.JsonConvert.SerializeObject(model); var content = new StringContent(serialize); content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var response = Post("sales/saveallocation", content); if (response.IsSuccessStatusCode) { return(RedirectToAction("salesreceipts")); } } } var receipt = GetAsync <Dto.Sales.SalesReceipt>("sales/salesreceipt?id=" + model.ReceiptId).Result; ViewBag.CustomerName = receipt.CustomerName; ViewBag.ReceiptNo = receipt.ReceiptNo; return(View(model)); }