//Check Stocks Count Allowed For Selling public bool CheckStockCountForSelling(SellingOrderModel sellingOrderModel) { var PortofolioStocks = unitOfWork.PortfolioTransactionsRepository.Get(filter: m => m.PortfolioID == sellingOrderModel.PortfolioID); var Details = sellingOrderModel.sellingOrderDetailModels; foreach (var detail in Details) { if (!PortofolioStocks.Any(m => m.PartnerID == detail.PartnerID)) { return(false); } else { foreach (var item in PortofolioStocks) { if (detail.PartnerID == item.PartnerID) { if (detail.StockCount > item.CurrentStocksCount) { return(false); } } } } } return(true); }
public IActionResult FirstOpen() { SellingOrderModel model = new SellingOrderModel(); model.Count = unitOfWork.SellingOrderRepository.Count(); if (model.Count > 0) { model.LastCode = unitOfWork.SellingOrderRepository.Last().Code; } return(Ok(model)); }
public IActionResult Update(int id, [FromBody] SellingOrderModel sellingOrderModel) { if (id != sellingOrderModel.SellingOrderID) { return(Ok(1)); } if (ModelState.IsValid) { if (sellingOrderModel.OrderDateGorg == null) { sellingOrderModel.OrderDateGorg = DateTime.Now.ToString(); sellingOrderModel.FromDateGorg = DateTime.Now.ToString(); sellingOrderModel.ToDateGorg = DateTime.Now.ToString(); } var model = _mapper.Map <SellingOrder>(sellingOrderModel); #region Warehouse //Check Stocks Count Allowed For Selling var Chk = _stocksHelper.CheckStockCountForSelling(sellingOrderModel); if (!Chk) { return(Ok(7)); } #endregion var Check = unitOfWork.SellingOrderRepository.Get(NoTrack: "NoTrack"); if (Check.Any(m => m.Code == sellingOrderModel.Code)) { unitOfWork.SellingOrderRepository.Update(model); // Details var oldDetails = unitOfWork.SellingOrderDetailRepository .Get(filter: m => m.SellingOrderID == model.SellingOrderID); if (oldDetails != null) { unitOfWork.SellingOrderDetailRepository.RemovRange(oldDetails); } if (sellingOrderModel.sellingOrderDetailModels != null) { foreach (var item in sellingOrderModel.sellingOrderDetailModels) { item.SellingOrderID = sellingOrderModel.SellingOrderID; item.SellOrderDetailID = 0; var newDetail = _mapper.Map <SellingOrderDetail>(item); unitOfWork.SellingOrderDetailRepository.Insert(newDetail); } } } else { if (Check.Any(m => m.Code != sellingOrderModel.Code && m.SellingOrderID == id)) { unitOfWork.SellingOrderRepository.Update(model); // Details var oldDetails = unitOfWork.SellingOrderDetailRepository .Get(filter: m => m.SellingOrderID == model.SellingOrderID); if (oldDetails != null) { unitOfWork.SellingOrderDetailRepository.RemovRange(oldDetails); } if (sellingOrderModel.sellingOrderDetailModels != null) { foreach (var item in sellingOrderModel.sellingOrderDetailModels) { item.SellingOrderID = sellingOrderModel.SellingOrderID; item.SellOrderDetailID = 0; var newDetail = _mapper.Map <SellingOrderDetail>(item); unitOfWork.SellingOrderDetailRepository.Insert(newDetail); } } } } var result = unitOfWork.Save(); if (result == 200) { var UserID = loggerHistory.getUserIdFromRequest(Request); loggerHistory.InsertUserLog(UserID, " امر البيع", "تعديل امر البيع", false); return(Ok(4)); } else if (result == 501) { return(Ok(5)); } else { return(Ok(6)); } } else { return(Ok(6)); } }
public IActionResult Postselling([FromBody] SellingOrderModel sellingOrderModel) { if (ModelState.IsValid) { var Check = unitOfWork.SellingOrderRepository.Get(); if (sellingOrderModel == null) { return(Ok(0)); } if (Check.Any(m => m.Code == sellingOrderModel.Code)) { return(Ok(2)); } else { if (sellingOrderModel.OrderDateGorg == null) { sellingOrderModel.OrderDateGorg = DateTime.Now.ToString("d/M/yyyy"); sellingOrderModel.FromDateGorg = DateTime.Now.ToString("d/M/yyyy"); sellingOrderModel.ToDateGorg = DateTime.Now.ToString("d/M/yyyy"); } var model = _mapper.Map <SellingOrder>(sellingOrderModel); #region Warehouse //Check Stocks Count Allowed For Selling var Chk = _stocksHelper.CheckStockCountForSelling(sellingOrderModel); if (!Chk) { return(Ok(7)); } #endregion unitOfWork.SellingOrderRepository.Insert(model); if (sellingOrderModel.sellingOrderDetailModels != null) { foreach (var item in sellingOrderModel.sellingOrderDetailModels) { SellingOrderDetailModel detail = new SellingOrderDetailModel(); detail.PartnerID = item.PartnerID; detail.SellingOrderID = model.SellingOrderID; detail.PriceType = item.PriceType; detail.StockCount = item.StockCount; detail.SellOrderDetailID = 0; detail.TradingValue = item.TradingValue; detail.Remarks = item.Remarks; var ob = _mapper.Map <SellingOrderDetail>(detail); unitOfWork.SellingOrderDetailRepository.Insert(ob); } } var Result = unitOfWork.Save(); if (Result == 200) { var UserID = loggerHistory.getUserIdFromRequest(Request); loggerHistory.InsertUserLog(UserID, " امر البيع", "اضافه امر البيع", false); return(Ok(4)); } else if (Result == 501) { return(Ok(5)); } else { return(Ok(6)); } } } else { return(Ok(3)); } }