public ActionResult AddNewDonationPlan(Cats.Models.Hubs.ReceiptAllocationViewModel receiptAllocationViewModel) { ModelState.Remove("SourceHubID"); ModelState.Remove("SupplierName"); ModelState.Remove("PurchaseOrder"); if (ModelState.IsValid) { var receiptAllocation = receiptAllocationViewModel.GenerateReceiptAllocation(); if (receiptAllocationViewModel.GiftCertificateDetailID == 0 || receiptAllocationViewModel.GiftCertificateDetailID == null) { var shippingInstruction = _shippingInstructionService.FindBy(t => t.Value == receiptAllocationViewModel.SINumber).FirstOrDefault(); var gc = new Cats.Models.GiftCertificate(); if (shippingInstruction != null) gc = _giftCertificateService.FindBySINumber(shippingInstruction.Value); if (gc != null) { var gcd = gc.GiftCertificateDetails.FirstOrDefault(p => p.CommodityID == receiptAllocationViewModel.CommodityID); if (gcd != null) { receiptAllocation.GiftCertificateDetailID = gcd.GiftCertificateDetailID; } } else { receiptAllocation.GiftCertificateDetailID = null; } } receiptAllocation.HubID = receiptAllocationViewModel.HubID; receiptAllocation.CommoditySourceID = Cats.Models.Hubs.CommoditySource.Constants.DONATION; receiptAllocation.ReceiptAllocationID = Guid.NewGuid(); _receiptAllocationService.AddReceiptAllocation(receiptAllocation); return RedirectToAction("Index"); } return RedirectToAction("Index"); }