Exemplo n.º 1
0
        /// <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;
            }
        }
Exemplo n.º 2
0
 /// <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;
     }
 }
Exemplo n.º 5
0
 /// <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;
     }
 }