private PurchaseOrderDetail getEntityByModel(PurchaseOrderDetailModel model) { if (model == null) { return(null); } PurchaseOrderDetail entity = new PurchaseOrderDetail(); if (model.Id == 0) { entity.CreateBy = AuthenticationHelper.UserId; entity.CreateDate = DateTime.Now; } else { entity.CreateBy = model.CreateBy; entity.CreateDate = model.CreateDate; } entity.CreateBy = model.CreateBy; entity.CreateDate = model.CreateDate; entity.Id = model.Id; entity.ItemId = model.ItemId; entity.NeedByDate = model.NeedByDate; entity.POId = model.POId; entity.Price = model.Price; entity.Quantity = model.Quantity; entity.UpdateBy = model.UpdateBy; entity.UpdateDate = model.UpdateDate; return(entity); }
public ActionResult UpdatePartial(PurchaseOrderDetailModel model) { if (ModelState.IsValid) { try { SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).CreateBy = model.CreateBy; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).CreateDate = model.CreateDate; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).Id = model.Id; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).ItemId = model.ItemId; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).NeedByDate = model.NeedByDate; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).POId = model.POId; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).Price = model.Price; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).Quantity = model.Quantity; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).UpdateBy = model.UpdateBy; SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).UpdateDate = model.UpdateDate; } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } return(PartialView("_Detail", getPODetail())); }
public ActionResult AddNewPartial(PurchaseOrderDetailModel model) { if (ModelState.IsValid) { try { if (SessionHelper.PurchaseOrder != null) { if (SessionHelper.PurchaseOrder.PurchaseOrderDetail != null && SessionHelper.PurchaseOrder.PurchaseOrderDetail.Count() > 0) { model.Id = SessionHelper.PurchaseOrder.PurchaseOrderDetail.LastOrDefault().Id + 1; } else { model.Id = 1; } } else { model.Id = 1; } SessionHelper.PurchaseOrder.PurchaseOrderDetail.Add(model); } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } return(PartialView("_Detail", getPODetail())); }
//Create new PurchaseOrder public static PurchaseOrderDetailModel CreatePurchaseOrderDetail(PurchaseOrderDetailModel podm, out string error) { error = ""; LUSSISEntities entities = new LUSSISEntities(); purchaseorderdetail pod = new purchaseorderdetail(); try { pod.poid = podm.PoId; pod.itemid = podm.Itemid; pod.qty = podm.Qty; pod.delivqty = podm.DelivQty; pod.price = podm.Price; entities.purchaseorderdetails.Add(pod); entities.SaveChanges(); podm = GetPurchaseOrderDetailByIDAndItemID(pod.poid, pod.itemid, out error); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(podm); }
public ActionResult EditPurchaseOrderDetail(PurchaseOrderDetailModel purchaseOrderDetail) { if (Session["UserLogon"] != null) { purchaseOrderDetail.Account = (AccountModel)Session["UserLogon"]; } PurchaseOrderDetailResponse _purchaseorderdetailresponse = new PurchaseOrderDetailResponse(); var purchaserequestdetailrequest = new PurchaseOrderDetailRequest { Data = purchaseOrderDetail }; var requestnamabarang = new ProductRequest { Data = new ProductModel { Id = Convert.ToInt32(purchaseOrderDetail.ProductId) } }; ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang); purchaserequestdetailrequest.Data.namabarang = purchaserequestdetailrequest.Data.namabarang != null ? purchaserequestdetailrequest.Data.namabarang : namabarang.Entity.Name; new PurchaseOrderDetailValidator(_unitOfWork).Validate(purchaserequestdetailrequest, out _purchaseorderdetailresponse); return(Json(new { data = _purchaseorderdetailresponse.Entity }, JsonRequestBehavior.AllowGet)); }
public static PurchaseOrderDetailModel GetPurchaseOrderDetailByIdAndItemId(int poid, int itemid, string token, out string error) { string url = APIHelper.Baseurl + "purchaseorderdetail/" + poid + "/" + itemid; PurchaseOrderDetailModel podm = APIHelper.Execute <PurchaseOrderDetailModel>(token, url, out error); return(podm); }
int getFreeStock(PurchaseOrderDetailModel pod, List <AllocationModel> allocList) { // The amount of 'free' stock on an order is the // OrderQty less the sum(Quantity) of all allocations pointing at the order detail line int allocated = allocList.Sum(al => al.Quantity.Value); return(pod.OrderQty.Value - allocated); }
public static PurchaseOrderDetailModel UpdatePODetail(PurchaseOrderDetailModel podm, string token, out string error) { error = ""; string url = APIHelper.Baseurl + "/purchaseorderdetail/update"; string objectstring = JsonConvert.SerializeObject(podm); podm = APIHelper.Execute <PurchaseOrderDetailModel>(token, objectstring, url, out error); return(podm); }
public PurchaseOrderResponse GetDetail(PurchaseOrderRequest request) { PurchaseOrderResponse response = new PurchaseOrderResponse(); var qry = _unitOfWork.PurchaseOrderRepository.GetById(request.Data.Id); //DeliveryOrderDetailModel newdeliveryOrderdetailModel = new DeliveryOrderDetailModel(); if (qry != null) { response.Entity = new PurchaseOrderModel { Id = qry.id, PurchaseRequestId = qry.PurchaseRequestId, ponumber = qry.ponumber, podate = qry.podate, approveby = qry.approve_by, request_by = qry.request_by, approve = qry.approve, ModifiedBy = qry.ModifiedBy, CreatedBy = qry.CreatedBy, ModifiedDate = qry.ModifiedDate, prrequestby = qry.PurchaseRequest.request_by, prvalidationby = qry.PurchaseRequest.ModifiedBy, prdate = qry.PurchaseRequest.prdate, prnumber = qry.PurchaseRequest.prnumber, sourcename = qry.SourceId != null ? qry.Gudang1.name : "", Validasi = qry.Validasi }; foreach (var item in qry.PurchaseOrderDetails.OrderBy(a => a.OrderNumber)) { var newpurchaseOrderdetailModel = new PurchaseOrderDetailModel { Id = item.id, PurchaseOrderId = qry.id, ProductId = item.ProductId, namabarang = item.namabarang, tot_pemakaian = item.tot_pemakaian, sisa_stok = item.sisa_stok, qty = item.qty, qty_add = item.qty_add, reason_add = item.reason_add, total = item.total, nama_by_ho = item.nama_by_ho, qty_by_ho = item.qty_by_ho, remark_by_ho = item.remark_by_ho, OrderNumber = item.OrderNumber, Verified = item.Verified }; response.Entity.PurchaseOrderDetails.Add(newpurchaseOrderdetailModel); } } return(response); }
public Error ImportOrders(CompanyModel company, UserModel user, int locationId, List <string> headings) { var error = new Error(); int lastSupplierId = -1, lineNo = 0; PurchaseOrderHeaderModel poh = null; // Create an order for each supplier foreach (var row in db.FindFileImportRows(company.Id, user.Id) .Skip(1) // Skip first record (headers) .OrderBy(r => r.Product.Supplier.Name) .ToList()) { if (row.SupplierId != lastSupplierId) { // Found another supplier, so start a new order poh = new PurchaseOrderHeaderModel { CompanyId = company.Id, SupplierId = row.SupplierId, OrderNumber = LookupService.GetNextSequenceNumber(company, SequenceNumberType.PurchaseOrderNumber), OrderDate = DateTimeOffset.Now, POStatus = LookupService.FindPurchaseOrderHeaderStatusByValueModel(PurchaseOrderStatus.OrderPlanned).Id, SalespersonId = user.Id, LocationId = locationId, CurrencyId = row.Product.Supplier.CurrencyId, ExchangeRate = LookupService.FindCurrencyModel(row.Product.Supplier.CurrencyId.Value).ExchangeRate.Value }; InsertOrUpdatePurchaseOrderHeader(poh, user, ""); lastSupplierId = row.SupplierId.Value; lineNo = 1000; } // Add items to the new order var pod = new PurchaseOrderDetailModel { CompanyId = company.Id, PurchaseOrderHeaderId = poh.Id, LineNumber = lineNo, ProductId = row.ProductId, ProductDescription = row.Product.ItemName, UnitPriceExTax = Convert.ToDecimal(getField(row, "UnitPrice").Value), TaxCodeId = row.Product.Supplier.TaxCodeId.Value, OrderQty = Convert.ToInt32(getField(row, "Quantity").Value) }; InsertOrUpdatePurchaseOrderDetail(pod, user, ""); lineNo += 1000; } return(error); }
public PurchaseOrderDetailModel FindPurchaseOrderDetailModel(int id) { PurchaseOrderDetailModel model = null; var item = db.FindPurchaseOrderDetail(id); if (item != null) { model = MapToModel(item); } return(model); }
// The following method is called from the Purchasing service when a Purchase Order is being split public void AllocateOnPurchaseOrderSplit(PurchaseOrderDetailModel pod, // Line we split from List <AllocationModel> allocList, // Allocations linked to the line (ordered by DateCreated) PurchaseOrderHeaderModel targetPo, // PO we are splitting to (the 'later' PO)) PurchaseOrderDetailModel targetPod, // Line we are spliting to int numSplitItems, // Number of items being split UserModel user) { // On entry, the allocList must be in DateCreated order // Every allocation will always have a purchase order line Id and a sales order line Id // Update the purchase order detail pod.OrderQty -= numSplitItems; if (allocList.Count > 0) { // Is window open of the allocation greater than or equal to the // the ReallisticETA of the PO were are spliting to ? var sod = db.FindSalesOrderDetail(allocList[0].SaleLineId.Value); if (sod.SalesOrderHeader.DeliveryWindowOpen != null && targetPo.RealisticRequiredDate != null) { // Only do something if the window and required date are set if (sod.SalesOrderHeader.DeliveryWindowOpen >= targetPo.RealisticRequiredDate) { // Yes, Is there free stock on the later PO ? if (getFreeStock(targetPod, allocList) >= numSplitItems) { // Yes, assign allocation to later PO allocList[0].PurchaseLineId = targetPod.Id; } else { // No, assign allocation to earlier PO allocList[0].PurchaseLineId = pod.Id; } } else { // No, is there free stock on the earlier PO ? if (getFreeStock(pod, allocList) >= numSplitItems) { // Yes, assign allocation to earlier PO allocList[0].PurchaseLineId = pod.Id; } else { // No, assign allocation to later PO allocList[0].PurchaseLineId = targetPod.Id; } } InsertOrUpdateAllocation(allocList[0], user, LockAllocation(allocList[0])); } } }
public IHttpActionResult CreatePODetail(PurchaseOrderDetailModel podetail) { string error = ""; PurchaseOrderDetailModel ordm = PurchaseOrderDetailRepo.CreatePurchaseOrderDetail(podetail, out error); if (error != "" || ordm == null) { return(Content(HttpStatusCode.BadRequest, error)); } return(Ok(ordm)); }
public Error InsertOrUpdatePurchaseOrderDetail(PurchaseOrderDetailModel pod, UserModel user, string lockGuid) { var error = validateModel(pod); if (!error.IsError) { // Check that the lock is still current if (!db.IsLockStillValid(typeof(PurchaseOrderDetail).ToString(), pod.Id, lockGuid)) { error.SetError(EvolutionResources.errRecordChangedByAnotherUser, "ProductName"); } else { PurchaseOrderDetail before = new PurchaseOrderDetail(); var temp = new PurchaseOrderDetail(); if (pod.Id != 0) { // Updating existing record temp = db.FindPurchaseOrderDetail(pod.Id); Mapper.Map <PurchaseOrderDetail, PurchaseOrderDetail>(temp, before); // The following does not copy: // OriginalRowId // LineNumber Mapper.Map <PurchaseOrderDetailModel, PurchaseOrderDetail>(pod, temp); } else { // New record // The following does not copy: // OriginalRowId // LineNumber Mapper.Map <PurchaseOrderDetailModel, PurchaseOrderDetail>(pod, temp); temp.OriginalRowId = pod.OriginalRowId; temp.LineNumber = pod.LineNumber; } db.InsertOrUpdatePurchaseOrderDetail(temp); pod.Id = temp.Id; logChanges(before, temp, user); } } return(error); }
public ActionResult DeletePartial(PurchaseOrderDetailModel model) { try { PurchaseOrderModel po = SessionHelper.PurchaseOrder; PurchaseOrderDetailModel poDetail = po.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id); SessionHelper.PurchaseOrder.PurchaseOrderDetail.Remove(poDetail); } catch (Exception ex) { ViewData["EditError"] = ex.Message; } return(PartialView("_Detail", getPODetail())); }
public IHttpActionResult GetPurchaseOrderDetailByIdAndItemId(int poid, int itemid) { string error = ""; PurchaseOrderDetailModel orm = PurchaseOrderDetailRepo.GetPurchaseOrderDetailByIDAndItemID(poid, itemid, out error); if (error != "" || orm == null) { if (error == ConError.Status.NOTFOUND) { return(Content(HttpStatusCode.NotFound, "PO Not Found")); } return(Content(HttpStatusCode.BadRequest, error)); } return(Ok(orm)); }
public IHttpActionResult UpdatePODetail(PurchaseOrderDetailModel podetail) { string error = ""; PurchaseOrderDetailModel ordm = PurchaseOrderDetailRepo.UpdatePurchaseOrderDetail(podetail, out error); if (error != "" || ordm == null) { if (error == ConError.Status.NOTFOUND) { return(Content(HttpStatusCode.NotFound, "PO Not Found")); } return(Content(HttpStatusCode.BadRequest, error)); } return(Ok(ordm)); }
//find Purchase Order detail by id and itemid public static PurchaseOrderDetailModel GetPurchaseOrderDetailByIDAndItemID(int poid, int itemid, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; purchaseorderdetail pod = new purchaseorderdetail(); PurchaseOrderDetailModel podm = new PurchaseOrderDetailModel(); try { pod = entities.purchaseorderdetails.Where(a => a.poid == poid && a.itemid == itemid).FirstOrDefault <purchaseorderdetail>(); podm = ConvertDBtoAPIPOModel(pod); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(podm); }
public void DeletePurchaseOrderDetail(PurchaseOrderDetailModel pod) { db.DeletePurchaseOrderDetail(pod.Id); }
public void IntegrationTest() { var connection = TestSession.GetConnection(); connection.Open(); #region good insertion and select by id test PurchaseOrderDetailModel inserted = new PurchaseOrderDetailModel(); inserted.PurchaseOrderID = TestSession.Random.Next(); inserted.DueDate = TestSession.Random.RandomDateTime(); inserted.OrderQty = TestSession.Random.RandomShort(); inserted.ProductID = TestSession.Random.Next(); inserted.UnitPrice = TestSession.Random.RandomDecimal(); inserted.LineTotal = TestSession.Random.RandomDecimal(); inserted.ReceivedQty = TestSession.Random.RandomDecimal(); inserted.RejectedQty = TestSession.Random.RandomDecimal(); inserted.StockedQty = TestSession.Random.RandomDecimal(); inserted.ModifiedDate = TestSession.Random.RandomDateTime(); _tested.Insert(connection, new[] { inserted }); var selectedAfterInsertion = _tested.GetByPrimaryKey(connection, new PurchaseOrderDetailModelPrimaryKey() { PurchaseOrderID = inserted.PurchaseOrderID, PurchaseOrderDetailID = inserted.PurchaseOrderDetailID, }); CollectionAssert.IsNotEmpty(selectedAfterInsertion); var selectedAfterInsert = selectedAfterInsertion.Single(); Assert.AreEqual(inserted.PurchaseOrderID, selectedAfterInsert.PurchaseOrderID); Assert.AreEqual(inserted.PurchaseOrderDetailID, selectedAfterInsert.PurchaseOrderDetailID); Assert.AreEqual(inserted.DueDate, selectedAfterInsert.DueDate); Assert.AreEqual(inserted.OrderQty, selectedAfterInsert.OrderQty); Assert.AreEqual(inserted.ProductID, selectedAfterInsert.ProductID); Assert.AreEqual(inserted.UnitPrice, selectedAfterInsert.UnitPrice); Assert.AreEqual(inserted.LineTotal, selectedAfterInsert.LineTotal); Assert.AreEqual(inserted.ReceivedQty, selectedAfterInsert.ReceivedQty); Assert.AreEqual(inserted.RejectedQty, selectedAfterInsert.RejectedQty); Assert.AreEqual(inserted.StockedQty, selectedAfterInsert.StockedQty); Assert.AreEqual(inserted.ModifiedDate, selectedAfterInsert.ModifiedDate); #endregion #region update and select by id test inserted.DueDate = TestSession.Random.RandomDateTime(); inserted.OrderQty = TestSession.Random.RandomShort(); inserted.ProductID = TestSession.Random.Next(); inserted.UnitPrice = TestSession.Random.RandomDecimal(); inserted.LineTotal = TestSession.Random.RandomDecimal(); inserted.ReceivedQty = TestSession.Random.RandomDecimal(); inserted.RejectedQty = TestSession.Random.RandomDecimal(); inserted.StockedQty = TestSession.Random.RandomDecimal(); inserted.ModifiedDate = TestSession.Random.RandomDateTime(); _tested.Update(connection, new[] { inserted }); var selectedAfterUpdateAddresss = _tested.GetByPrimaryKey(connection, new PurchaseOrderDetailModelPrimaryKey() { PurchaseOrderID = inserted.PurchaseOrderID, PurchaseOrderDetailID = inserted.PurchaseOrderDetailID, }); CollectionAssert.IsNotEmpty(selectedAfterUpdateAddresss); var selectedAfterUpdate = selectedAfterUpdateAddresss.Single(); Assert.AreEqual(inserted.PurchaseOrderID, selectedAfterUpdate.PurchaseOrderID); Assert.AreEqual(inserted.PurchaseOrderDetailID, selectedAfterUpdate.PurchaseOrderDetailID); Assert.AreEqual(inserted.DueDate, selectedAfterUpdate.DueDate); Assert.AreEqual(inserted.OrderQty, selectedAfterUpdate.OrderQty); Assert.AreEqual(inserted.ProductID, selectedAfterUpdate.ProductID); Assert.AreEqual(inserted.UnitPrice, selectedAfterUpdate.UnitPrice); Assert.AreEqual(inserted.LineTotal, selectedAfterUpdate.LineTotal); Assert.AreEqual(inserted.ReceivedQty, selectedAfterUpdate.ReceivedQty); Assert.AreEqual(inserted.RejectedQty, selectedAfterUpdate.RejectedQty); Assert.AreEqual(inserted.StockedQty, selectedAfterUpdate.StockedQty); Assert.AreEqual(inserted.ModifiedDate, selectedAfterUpdate.ModifiedDate); #endregion #region delete test _tested.Delete(connection, new[] { inserted }); var selectedAfterDeleteAddresss = _tested.GetByPrimaryKey(connection, new PurchaseOrderDetailModelPrimaryKey() { PurchaseOrderID = inserted.PurchaseOrderID, PurchaseOrderDetailID = inserted.PurchaseOrderDetailID, }); CollectionAssert.IsEmpty(selectedAfterDeleteAddresss); #endregion connection.Close(); }
private Error doSplit(CompanyModel company, SplitPurchaseModel model, UserModel user) { var error = new Error(); string lgs; // Proceed to do the split for (int i = 0; i < podList.Count() && !error.IsError; i++) { var podListItem = podList[i]; var splitItem = model.SplitItems[i]; var updatedItem = updatedDetails.Items .Where(ud => ud.OriginalRowId == podListItem.Id) .FirstOrDefault(); PurchaseOrderDetailModel pod = new PurchaseOrderDetailModel { CompanyId = company.Id, PurchaseOrderHeaderId = 0, LineNumber = 0, ProductId = podListItem.ProductId.Value, ProductDescription = podListItem.ProductDescription, UnitPriceExTax = podListItem.UnitPriceExTax, TaxCodeId = podListItem.TaxCodeId, DiscountPercent = podListItem.DiscountPercent, //LineStatus = podListItem.LineStatus, //IsReceived = podListItem.IsReceived }; if (splitItem.NewOrderQty > 0) { // Add a new line to a new order if (newPoh == null) { // Create the new order first newPoh = mapToModel(updatedPoh); newPoh.Id = 0; newPoh.OrderNumber = LookupService.GetNextSequenceNumber(company, SequenceNumberType.PurchaseOrderNumber, 0, false); error = InsertOrUpdatePurchaseOrderHeader(newPoh, user, ""); } if (!error.IsError) { pod.PurchaseOrderHeaderId = newPoh.Id; pod.OrderQty = splitItem.NewOrderQty; pod.LineNumber = db.GetNextPurchaseOrderDetailLineNumber(pod.PurchaseOrderHeaderId, false); InsertOrUpdatePurchaseOrderDetail(pod, user, ""); // Move the # of split item allocations across to the new purchase order line pod.OrderQty -= splitItem.NewOrderQty; var allocList1 = updatedAllocations.Where(a => a.PurchaseLineId == pod.Id) .ToList(); AllocationService.AllocateOnPurchaseOrderSplit(updatedItem, allocList1, newPoh, pod, splitItem.NewOrderQty, user); } } if (!error.IsError && splitItem.TargetOrderQty > 0) { // Add a new line to the target order pod.Id = 0; pod.PurchaseOrderHeaderId = splitItem.TargetOrderId; pod.OrderQty = splitItem.TargetOrderQty; pod.LineNumber = db.GetNextPurchaseOrderDetailLineNumber(pod.PurchaseOrderHeaderId, false); error = InsertOrUpdatePurchaseOrderDetail(pod, user, ""); // Move the # of split item allocations across to the new purchase order line pod.OrderQty -= splitItem.TargetOrderQty; var allocList2 = updatedAllocations.Where(a => a.PurchaseLineId == pod.Id) .ToList(); AllocationService.AllocateOnPurchaseOrderSplit(updatedItem, allocList2, newPoh, pod, splitItem.TargetOrderQty, user); } if (!error.IsError) { InsertOrUpdatePurchaseOrderDetail(updatedItem, user, LockPurchaseOrderDetail(updatedItem)); } } if (!error.IsError) { // Obsolete the existing order origPoh.POStatus = LookupService.FindPurchaseOrderHeaderStatusByValueModel(PurchaseOrderStatus.Superceded).Id; lgs = LockPurchaseOrderHeader(origPoh); error = InsertOrUpdatePurchaseOrderHeader(origPoh, user, lgs); } return(error); }
public IActionResult PurchaseOrderAdd([FromBody] PurchaseOrderModel purchaseOrderModel) { if (ModelState.IsValid) { var Check = unitOfWork.PurchaseOrderRepository.Get(); if (purchaseOrderModel == null) { return Ok(0); } if (Check.Any(m => m.Code == purchaseOrderModel.Code)) { return Ok(2); } else { if (purchaseOrderModel.OrderDate == null) { purchaseOrderModel.OrderDate = DateTime.Now.ToString("d/M/yyyy"); purchaseOrderModel.FromDateGorg = DateTime.Now.ToString("d/M/yyyy"); purchaseOrderModel.ToDateGorg = DateTime.Now.ToString("d/M/yyyy"); } // #region Warehouse // // Add Purchase Invoice Stocks Count To Portofolio //decimal? RialBalance= _stocksHelper.RialBalanc(purchaseOrderModel.PortfolioID); // if (RialBalance==null) { // return Ok(7); // } // decimal totalPartenersRial=0.0m; // foreach (var item in purchaseOrderModel.purchaseordersDetailsModels) // { // totalPartenersRial +=item. // } // #endregion var model = _mapper.Map<PurchaseOrder>(purchaseOrderModel); unitOfWork.PurchaseOrderRepository.Insert(model); if (purchaseOrderModel.purchaseordersDetailsModels != null) { foreach (var item in purchaseOrderModel.purchaseordersDetailsModels) { PurchaseOrderDetailModel detail = new PurchaseOrderDetailModel(); detail.PartnerID = item.PartnerID; detail.PurchaseOrderID = model.PurchaseOrderID; detail.PriceType = item.PriceType; detail.StockCount = item.StockCount; detail.PurchaseOrderDetailID = 0; detail.TradingValue = item.TradingValue; detail.Remarks = item.Remarks; var ob = _mapper.Map<PurchaseOrderDetail>(detail); unitOfWork.PurchaseOrderDetailRepository.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); } }
// Convert From Auto Generated DB Model to APIModel private static PurchaseOrderDetailModel ConvertDBtoAPIPOModel(purchaseorderdetail pod) { PurchaseOrderDetailModel pom = new PurchaseOrderDetailModel(pod.poid, pod.itemid, pod.item.description, pod.qty, pod.delivqty, pod.item.category.name, pod.item.uom, pod.price); return(pom); }
public PurchaseOrderDetailModel MapToModel(PurchaseOrderDetailModel item) { var newItem = Mapper.Map <PurchaseOrderDetailModel, PurchaseOrderDetailModel>(item); return(newItem); }
private Error validateModel(PurchaseOrderDetailModel model) { var error = new Error(); return(error); }
public string LockPurchaseOrderDetail(PurchaseOrderDetailModel model) { return(db.LockRecord(typeof(PurchaseOrderDetail).ToString(), model.Id)); }