/// <summary> /// This method is used for fetching supplier purchase order bills from database. - JJ /// </summary> /// <param name="POID">ID OF PO</param> /// <returns>list of SPOReceivingBillAC</returns> public IList <SPOReceivingBillAC> GetSPOBill(int POId) { try { var poBill = _poSupplierBillContext.Fetch(x => x.PurchaseOrderId == POId).ToList(); var billList = new List <SPOReceivingBillAC>(); foreach (var bill in poBill) { var spoBill = new SPOReceivingBillAC(); spoBill.Amount = bill.Amount; spoBill.BillComment = bill.BillComment; spoBill.BillId = bill.Id; spoBill.BillNumber = bill.BillNumber; spoBill.Discount = bill.Discount; spoBill.IsPaid = bill.IsPaid; spoBill.IsPercentageDiscount = bill.IsPercentageDiscount; spoBill.IsVerified = bill.IsVerified; spoBill.VerifiedDate = bill.VerifiedDate; spoBill.TotalDaysLimit = bill.TotalDaysLimit; billList.Add(spoBill); } return(billList); } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
/// <summary> /// This method is used for fetching supplier bill list from database. - JJ /// </summary> /// <param name="BranchId">id of BRANCH</param> /// <returns>list of objects of SPOReceivingBillAC</returns> public List <SPOReceivingBillAC> GetSupplierBillList(int?BranchId, bool isAllowForAllBranches) { var billList = new List <SPOReceivingBillAC>(); List <POSupplierBill> spoBills; if (isAllowForAllBranches) { spoBills = _poSupplierBillContext.Fetch(x => !x.IsPaid && x.IsVerified && x.SupplierPurchaseOrder.IsVerified).ToList(); } else { spoBills = _poSupplierBillContext.Fetch(x => !x.IsPaid && x.IsVerified && x.SupplierPurchaseOrder.IsVerified && x.SupplierPurchaseOrder.InitiationBranchId == BranchId).ToList(); } bool isCash = false; foreach (var bill in spoBills) { if (bill.SupplierPurchaseOrder.SupplierProfile.SupplierType.ValueEn.Equals(StringConstants.Cash)) { isCash = true; } var supplierbill = new SPOReceivingBillAC { Amount = bill.Amount, BillComment = bill.BillComment, BillId = bill.Id, BranchName = bill.SupplierPurchaseOrder.InitiatorBranch.Name, BillNumber = bill.BillNumber, Discount = bill.Discount, IsPaid = bill.IsPaid, IsPercentageDiscount = bill.IsPercentageDiscount, IsVerified = bill.IsVerified, PurchaseOrderNo = bill.SupplierPurchaseOrder.PurchaseOrderNumber, SupplierId = bill.SupplierPurchaseOrder.SupplierId, SupplierName = bill.SupplierPurchaseOrder.SupplierProfile.NameEn, IsCashPO = isCash, TotalDaysLimit = bill.TotalDaysLimit, VerifiedDate = bill.VerifiedDate, SupplierType = bill.SupplierPurchaseOrder.SupplierProfile.SupplierType.ValueEn }; billList.Add(supplierbill); } return(billList); }
public IHttpActionResult AddBill(SPOReceivingBillAC poSupplierBill) { try { if (HttpContext.Current.User.Identity.IsAuthenticated) { var Id = _spoReceivingContext.AddSupplierBill(poSupplierBill, poSupplierBill.PurchaseOrderId); return(Ok(new { Id = Id })); } else { return(BadRequest()); } } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
/// <summary> /// This method is used for adding supplier purchase order bill. -JJ /// </summary> /// <param name="PurchaseOrderId">ID OF PO</param> /// <param name="POSupplierBill">object of POSupplierBill</param> /// <returns>status</returns> public int AddSupplierBill(SPOReceivingBillAC POSupplierBill, int PurchaseOrderId) { try { var count = 0; var totalDays = 0; bool isBillFound = true; var bill = new POSupplierBill(); //edit method if (POSupplierBill.BillId > 0) { bill = _poSupplierBillContext.Find(POSupplierBill.BillId); if (bill != null) { var spo = _supplierPOContext.Find(PurchaseOrderId); spo.IsReceived = false; spo.IsVerified = false; spo.ModifiedDateTime = DateTime.UtcNow; _supplierPOContext.Update(spo); _supplierPOContext.SaveChanges(); bill.Amount = POSupplierBill.Amount; bill.BillComment = POSupplierBill.BillComment; bill.BillNumber = POSupplierBill.BillNumber; bill.ModifiedDateTime = DateTime.UtcNow; bill.Discount = POSupplierBill.Discount; bill.PresentDiscount = POSupplierBill.Discount; bill.IsPaid = POSupplierBill.IsPaid; bill.IsPercentageDiscount = POSupplierBill.IsPercentageDiscount; bill.IsVerified = POSupplierBill.IsVerified; bill.PurchaseOrderId = PurchaseOrderId; bill.VerifiedDate = POSupplierBill.VerifiedDate; bill.TotalDaysLimit = POSupplierBill.TotalDaysLimit; _poSupplierBillContext.Update(bill); _poSupplierBillContext.SaveChanges(); } else { isBillFound = false; } } //add method else { bill.Amount = POSupplierBill.Amount; bill.BillComment = POSupplierBill.BillComment; bill.BillNumber = POSupplierBill.BillNumber; bill.CreatedDateTime = DateTime.UtcNow; bill.Discount = POSupplierBill.Discount; bill.PresentDiscount = POSupplierBill.Discount; bill.IsPaid = POSupplierBill.IsPaid; bill.IsPercentageDiscount = POSupplierBill.IsPercentageDiscount; bill.IsVerified = POSupplierBill.IsVerified; bill.PurchaseOrderId = PurchaseOrderId; bill.VerifiedDate = POSupplierBill.VerifiedDate; bill.TotalDaysLimit = POSupplierBill.TotalDaysLimit; _poSupplierBillContext.Add(bill); _poSupplierBillContext.SaveChanges(); } var poItems = _purchaseOrderItemContext.Fetch(x => x.PurchaseOrderId == PurchaseOrderId).ToList(); foreach (var item in poItems) { item.SPOReceivingStatus = SPOReceivingStatus.NotReceived; item.ModifiedDateTime = DateTime.UtcNow; _purchaseOrderItemContext.Update(item); _purchaseOrderItemContext.SaveChanges(); } if (isBillFound && bill.TotalDaysLimit > 0 && bill.IsPercentageDiscount && POSupplierBill.Days > 0) { totalDays = totalDays + POSupplierBill.Days; count = 1; } if (count == 0) { var spoBill = _poSupplierBillContext.Find(bill.Id); spoBill.TotalDaysLimit = 0; spoBill.ModifiedDateTime = DateTime.UtcNow; _poSupplierBillContext.Update(spoBill); _poSupplierBillContext.SaveChanges(); } if (isBillFound) { return(bill.Id); } else { return(0); } } catch (Exception ex) { _errorLog.LogException(ex); throw; } }