public ActionResult BillApproval(PrqSupplierBill billModel, IEnumerable <PrqSupplierBillItem> billItemModel) { _userId = Convert.ToInt32(Session["UserID"]); if (!string.IsNullOrEmpty(billModel.SupplierBillID.ToString(CultureInfo.InvariantCulture))) { _validationMsg = _dalPrqSupplierBill.ApproveBill(billModel, billItemModel, _userId); } return(Json(_validationMsg, JsonRequestBehavior.AllowGet)); }
public ValidationMsg ApproveBill(PrqSupplierBill billModel, IEnumerable <PrqSupplierBillItem> billItemModel, int userId) { try { var billApprove = _context.Prq_SupplierBill.FirstOrDefault(w => w.SupplierBillID == billModel.SupplierBillID); if (billApprove != null) { billApprove.RecordStatus = "APV"; billApprove.ApprovedPrice = billModel.ApprovedPrice; billApprove.ApprovedAmt = billModel.ApprovedAmt; billApprove.BillCategory = billModel.BillCategory; billApprove.ApprovedBy = userId; billApprove.ApproveDate = DateTime.Now; billApprove.ApproveComment = billModel.ApproveComment; if (billItemModel != null) { foreach (var item in billItemModel) { var billItemApprove = _context.Prq_SupplierBillItem.SingleOrDefault(w => w.BillItemID == item.BillItemID); if (billItemApprove != null) { billItemApprove.ApproveRate = item.ApproveRate; billItemApprove.RecordStatus = "APV"; billItemApprove.ModifiedBy = userId; billItemApprove.ModifiedOn = DateTime.Now; } _context.SaveChanges(); } } _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Bill approved successfully."; } else { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Please save the bill before approval."; } } catch (Exception) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Approval failed."; } return(_vmMsg); }
public Prq_SupplierBill ConvertBill(PrqSupplierBill model, int userId) { var entity = model.SupplierBillID == 0 ? new Prq_SupplierBill() : (from b in _context.Prq_SupplierBill.AsEnumerable() where b.SupplierBillID == model.SupplierBillID select b).FirstOrDefault(); entity.SupplierBillID = model.SupplierBillID; entity.SupplierBillNo = model.SupplierBillID == 0 ? (Convert.ToInt64(_unit.SupplierBillRepository.Get().LastOrDefault().SupplierBillNo) + 1).ToString() : model.SupplierBillNo;//DalCommon.GetPreDefineNextCodeByUrl(model.SupplierBillNo); entity.SupplierBillRefNo = model.SupplierBillRefNo; entity.SupplierID = model.SupplierID; entity.SupplierAddressID = model.SupplierAddressID; entity.PurchaseID = model.PurchaseID; entity.BillCategory = model.BillCategory; entity.BillType = model.BillType; entity.BillDate = DalCommon.SetDate(model.BillDate); entity.PurchaseYear = model.PurchaseYear ?? ""; entity.Remarks = model.Remarks; entity.TotalQty = model.TotalQty; entity.TotalRejectQty = model.TotalRejectQty; entity.AvgPrice = model.AvgPrice; entity.ApprovedPrice = model.ApprovedPrice; entity.OtherCost = model.OtherCost ?? 0; entity.DiscountAmt = model.DiscountAmt ?? 0; entity.DiscountPercent = model.DiscountPercent ?? 0; entity.ApprovedAmt = model.ApprovedAmt ?? 0; entity.TotalAmt = model.TotalAmt; entity.PayableAmt = model.PayableAmt; entity.RecordStatus = "NCF"; entity.SetBy = model.SupplierBillID == 0 ? userId : _unit.SupplierBillRepository.GetByID(model.SupplierBillID).SetBy; entity.SetOn = model.SupplierBillID == 0 ? DateTime.Now : _unit.SupplierBillRepository.GetByID(model.SupplierBillID).SetOn; entity.ModifiedBy = model.SupplierBillID == 0 ? (int?)null : userId; entity.ModifiedOn = model.SupplierBillID == 0 ? (DateTime?)null : DateTime.Now; entity.IsDelete = false; return(entity); }
public ActionResult SaveSupplierBill(PrqSupplierBill billModel, List <PrqSupplierBillItem> billItemModel, List <PrqSupplierBillChallan> billChallanModel) { _userId = Convert.ToInt32(Session["UserID"]); _validationMsg = _dalPrqSupplierBill.SaveSupplierBill(billModel, billItemModel, billChallanModel, _userId, "SupplierBillEntry/SupplierBillEntry"); return(Json(_validationMsg, JsonRequestBehavior.AllowGet)); }
public ActionResult GetBillById(long billId) { var bill = new PrqSupplierBill(); var ritems = new List <PrqSupplierBillItem>(); var rchallans = new List <PrqSupplierBillChallan>(); var supplierBill = _unit.SupplierBillRepository.GetByID(billId); if (supplierBill != null) { bill.SupplierBillID = supplierBill.SupplierBillID; bill.SupplierBillNo = supplierBill.SupplierBillNo; bill.SupplierBillRefNo = supplierBill.SupplierBillRefNo; bill.SupplierID = supplierBill.SupplierID; bill.SupplierCode = _unit.SysSupplierRepository.GetByID(supplierBill.SupplierID).SupplierCode; bill.SupplierName = _unit.SysSupplierRepository.GetByID(supplierBill.SupplierID).SupplierName; bill.SupplierAddressID = supplierBill.SupplierAddressID; bill.SupplierAddress = _unit.SupplierAddressRepository.GetByID(supplierBill.SupplierAddressID).Address; bill.PurchaseID = supplierBill.PurchaseID; bill.PurchaseNo = supplierBill.PurchaseID == null ? "" : _unit.PrqPurchaseRepository.GetByID(supplierBill.PurchaseID).PurchaseNo; bill.BillCategory = supplierBill.BillCategory; bill.BillType = supplierBill.BillType; bill.BillDate = string.Format("{0:dd/MM/yyyy}", supplierBill.BillDate); bill.PurchaseYear = supplierBill.PurchaseYear; bill.Remarks = supplierBill.Remarks; bill.TotalQty = supplierBill.TotalQty; bill.TotalRejectQty = supplierBill.TotalRejectQty; bill.AvgPrice = supplierBill.ApprovedPrice; bill.ApprovedPrice = supplierBill.ApprovedPrice; bill.OtherCost = supplierBill.OtherCost; bill.DiscountAmt = supplierBill.DiscountAmt; bill.DiscountPercent = supplierBill.DiscountPercent; bill.ApprovedAmt = supplierBill.ApprovedAmt; bill.TotalAmt = supplierBill.TotalAmt; bill.PayableAmt = supplierBill.PayableAmt; bill.CheckComment = supplierBill.CheckComment; bill.ApproveComment = supplierBill.ApproveComment; bill.RecordStatus = supplierBill.RecordStatus; var challans = _unit.SupplierBillChallanRepository.Get() .Where(ob => ob.SupplierBillID == supplierBill.SupplierBillID && ob.IsDelete == false) .ToList(); if (challans.Count > 0) { foreach (var c in challans) { var rchallan = new PrqSupplierBillChallan(); rchallan.ChallanID = c.ChallanID; rchallan.ChallanNo = c.S_ChallanRef; rchallan.ChallanDate = string.Format("{0:dd/MM/yyyy}", _unit.PrqPurchaseChallanRepo.GetByID(c.ChallanID).ChallanDate); rchallan.Quantity = _unit.PurchaseChallanItemRepository.Get() .Where(ob => ob.ChallanID == c.ChallanID) .Sum(ob => ob.ChallanQty); rchallans.Add(rchallan); } } var items = _unit.SupplierBillItemRepository.Get() .Where(ob => ob.SupplierBillID == supplierBill.SupplierBillID && ob.IsDelete == false) .ToList(); if (items.Count > 0) { foreach (var item in items) { var ritem = new PrqSupplierBillItem(); ritem.BillItemID = item.BillItemID; ritem.ItemTypeID = item.ItemType; ritem.ItemTypeName = _unit.SysItemTypeRepository.GetByID(item.ItemType).ItemTypeName; ritem.ItemSizeID = item.ItemSize; ritem.ItemSizeName = _unit.SysSizeRepository.GetByID(item.ItemSize).SizeName; ritem.ItemQty = item.ItemQty; ritem.RejectQty = item.RejectQty; ritem.ItemRate = item.ItemRate; ritem.ApproveRate = item.ApproveRate; ritem.Amount = item.Amount; ritem.AmtUnit = item.AmtUnit ?? 0; ritem.AvgArea = item.AvgArea; ritem.AreaUnit = item.AreaUnit; ritem.AreaUnitName = item.AreaUnit == null ? "" : _unit.SysUnitRepository.GetByID(item.AreaUnit).UnitName; ritem.Remarks = item.Remarks; ritems.Add(ritem); } } } return(Json(new { bill, rchallans, ritems }, JsonRequestBehavior.AllowGet)); }
public ValidationMsg SaveSupplierBill(PrqSupplierBill billModel, List <PrqSupplierBillItem> billItemModel, List <PrqSupplierBillChallan> billChallanModel, int userId, string url) { try { using (var tx = new TransactionScope()) { using (_context) { var billStatus = billModel.SupplierBillID == 0 ? "new" : "old"; var supplierBill = ConvertBill(billModel, userId); if (billModel.SupplierBillID == 0) { _context.Prq_SupplierBill.Add(supplierBill); _context.SaveChanges(); _mode = 1; } else { _context.SaveChanges(); _mode = 2; } if (billChallanModel != null) { foreach (var challan in billChallanModel) { var supplierChallan = ConvertChallan(challan, supplierBill.SupplierBillID, supplierBill.PurchaseID, billStatus); if (billStatus == "new") { _context.Prq_SupplierBillChallan.Add(supplierChallan); _context.SaveChanges(); } else { _context.SaveChanges(); } } } if (billItemModel != null) { foreach (var item in billItemModel) { var supplierBillItem = ConvertItem(item, supplierBill.SupplierBillID, userId); if (item.BillItemID == 0) { _context.Prq_SupplierBillItem.Add(supplierBillItem); _context.SaveChanges(); } else { _context.SaveChanges(); } } } tx.Complete(); if (_mode == 1) { _vmMsg.ReturnId = supplierBill.SupplierBillID; _vmMsg.Type = Enums.MessageType.Success; _vmMsg.Msg = "Saved successfully."; } if (_mode == 2) { _vmMsg.Type = Enums.MessageType.Update; _vmMsg.Msg = "Updated successfully."; } } } } catch (Exception) { _vmMsg.Type = Enums.MessageType.Error; _vmMsg.Msg = "Failed to save."; } return(_vmMsg); }