/// <summary> /// This method is used for end receiving SPO in database. - JJ /// </summary> /// <param name="SPOReceivingAC"> object of SPOReceivingAC</param> /// <param name="roleName">user's role</param> /// <param name="userName">user's name</param> /// <returns>status</returns> public bool EndReceiving(SPOReceivingAC SPOReceivingAC, string roleName, string userName) { try { var spo = _supplierPOContext.Find(SPOReceivingAC.PurchaseOrderId); if (spo != null) { spo.IsReceived = true; spo.IsVerified = false; spo.UpdatedDate = DateTime.UtcNow; spo.ModifiedDateTime = DateTime.UtcNow; _supplierPOContext.Update(spo); _supplierPOContext.SaveChanges(); if (SPOReceivingAC.Comment == ".") { SPOReceivingAC.Comment = ""; } _supplierPOWorkListRepository.SaveSupplierPurchaseOrderLog(StringConstants.ReceiveAction, SPOReceivingAC.Comment, SPOReceivingAC.PurchaseOrderId, spo.RecordId, roleName, "" + roleName + " " + StringConstants.ReceiveSPO, userName); UpdateItem(spo.Id); return(true); } else { return(false); } } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
/// <summary> /// This method is used for insert new SPO bill in database. - JJ /// </summary> /// <param name="supplierPOBill"> object of SPOReceivingAC</param> /// <returns>status</returns> public bool SaveSupplierPOBill(SPOReceivingAC SPOReceivingAC) { try { var purchaseOrder = _supplierPOContext.Find(SPOReceivingAC.SupplierPOAC.Id); purchaseOrder.IsVerified = false; purchaseOrder.IsReceived = false; purchaseOrder.ModifiedDateTime = DateTime.UtcNow; _supplierPOContext.Update(purchaseOrder); _supplierPOContext.SaveChanges(); foreach (var poItem in SPOReceivingAC.POItem) { var item = _purchaseOrderItemContext.FirstOrDefault(x => x.ItemId == poItem.ItemId && x.PurchaseOrderId == SPOReceivingAC.SupplierPOAC.Id); if (item != null) { item.ReceivingCostPrice = poItem.ReceiveCostPrice; item.BillCostPrice = poItem.BillCostPrice; item.ReceivingQuantity = poItem.ReceiveQuantity; item.SPOReceivingStatus = poItem.SPOReceivingStatus; item.ModifiedDateTime = DateTime.UtcNow; _purchaseOrderItemContext.Update(item); _purchaseOrderItemContext.SaveChanges(); } } return(true); } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
public IHttpActionResult SaveSPOBillItem(SPOReceivingAC SPOReceivingAC) { try { if (HttpContext.Current.User.Identity.IsAuthenticated) { var status = _spoReceivingContext.SaveSupplierPOBill(SPOReceivingAC); return(Ok(new { status = status })); } else { return(BadRequest()); } } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
public IHttpActionResult EndReceive(SPOReceivingAC SPOReceivingAC) { try { if (HttpContext.Current.User.Identity.IsAuthenticated) { var user = MerchantContext.UserDetails; var status = _spoReceivingContext.EndReceiving(SPOReceivingAC, user.RoleName, user.UserName); return(Ok(new { status = status })); } else { return(BadRequest()); } } catch (Exception ex) { _errorLog.LogException(ex); throw; } }
/// <summary> /// This method is used for fetching supplier purchase order from database. - JJ /// </summary> /// <param name="POID">ID OF PO</param> /// <returns>object of SPOReceivingAC</returns> public SPOReceivingAC GetSupplierPO(int POId) { try { if (_supplierPOContext.Fetch(x => x.Id == POId).Any()) { var supplierPurchaseOrder = _supplierPOContext.Find(POId); var isCashPO = false; var SupplierDaysLimit = new List <DiscountDaysAC>(); if (supplierPurchaseOrder.SupplierProfile.SupplierType.ValueEn == "Cash") { isCashPO = true; } else { var daysLimit = _supplierDaysLimitContext.Fetch(x => x.SupplierId == supplierPurchaseOrder.SupplierId).ToList(); foreach (var day in daysLimit) { var dayAC = new DiscountDaysAC { CreatedDateTime = day.CreatedDateTime, Days = day.Days, Discount = day.Discount, SupplierId = day.SupplierId }; SupplierDaysLimit.Add(dayAC); } } var itemList = _supplierPOWorkListRepository.GetSupplierPOItemList(supplierPurchaseOrder.Id, supplierPurchaseOrder.PurchaseOrderNumber); var branchList = _supplierPOWorkListRepository.GetSPOBranchList(supplierPurchaseOrder.Id); SupplierPOAC supplierPO = new SupplierPOAC(); supplierPO.Id = supplierPurchaseOrder.Id; supplierPO.DueDate = supplierPurchaseOrder.DueDate; supplierPO.IsApproved = supplierPurchaseOrder.IsApproved; supplierPO.IsCashPO = isCashPO; supplierPO.IsConfirmed = supplierPurchaseOrder.IsConfirmed; supplierPO.IsRejected = supplierPurchaseOrder.IsRejected; supplierPO.IsCanceled = supplierPurchaseOrder.IsCanceled; supplierPO.IsSend = supplierPurchaseOrder.IsSend; supplierPO.IsPartiallyReceived = supplierPurchaseOrder.IsPartiallyReceived; supplierPO.IsCancelApproved = supplierPurchaseOrder.IsCancelApproved; supplierPO.PurchaseOrderNumber = supplierPurchaseOrder.PurchaseOrderNumber; supplierPO.IssueDate = supplierPurchaseOrder.CreatedDateTime; supplierPO.SupplierId = supplierPurchaseOrder.SupplierId; supplierPO.SupplierName = supplierPurchaseOrder.SupplierProfile.NameEn; supplierPO.SupplierCode = supplierPurchaseOrder.SupplierProfile.Code; supplierPO.SPOBranch = branchList; supplierPO.ParentRecordId = supplierPurchaseOrder.RecordId; if (SupplierDaysLimit.Count > 0) { supplierPO.TotalDaysLimit = supplierPurchaseOrder.SupplierProfile.TotalDaysLimit; supplierPO.DiscountDays = SupplierDaysLimit; } var spoReceiving = new SPOReceivingAC { POItem = itemList, SupplierPOAC = supplierPO, SPOBill = GetSPOBill(POId) }; return(spoReceiving); } else { return(null); } } catch (Exception ex) { _errorLog.LogException(ex); throw; } }