Exemple #1
0
        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));
        }
Exemple #2
0
        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));
        }