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));
 }
Example #2
0
 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);
 }
Example #3
0
        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));
        }
Example #6
0
        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);
        }