public void InsertPurchaseReturn(PurchaseReturnColumnModel model) { try { using (this.unitOfWork) { PurchaseReturn item = new PurchaseReturn() { MemoNumber = model.MemoNumber, CustomerId = model.CustomerId, ReturnDate = model.ReturnDate, AmountReturn = model.AmountReturn, Adjustment = model.Adjustment, TotalDebitAmount = model.TotalDebitAmount, Remarks = model.Remarks, IsDeleted = model.IsDeleted, RecordedBy = model.RecordedByUser, ApprovedBy = model.ApprovedByUser, AmountUsed = 0 }; if (model.Details.Count > 0) { foreach (PurchaseReturnDetailModel d in model.Details) { PurchaseReturnDetail detail = new PurchaseReturnDetail() { PartDetailId = d.PartDetailId, PONumber = d.PONumber, Quantity = d.Quantity, UnitPrice = d.UnitPrice, TotalAmount = d.TotalAmount, Balance = d.TotalAmount }; item.PurchaseReturnDetail.Add(detail); AutoPartDetail autoDetail = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId); if (autoDetail != null) { autoDetail.Quantity -= d.Quantity; } } } this.unitOfWork.Context.AddToPurchaseReturn(item); string action = string.Format("Added New Purchase Return - {0}", item.MemoNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public ActionResult Add([FromBody] JObject values) { try { GenHelper.WriteLog("[Log]", "[" + securityProvider.GetUserName() + "]" + controllername + "-Post:[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); PurchaseReturnDetail employee = objectSpace.CreateObject <PurchaseReturnDetail>(); JsonParser.ParseJObjectXPO <PurchaseReturnDetail>(values, employee, objectSpace); objectSpace.CommitChanges(); return(Ok(employee)); } catch (Exception ex) { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-Post:[" + ex.Message + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception(ex.Message); } }
public ActionResult Get(int id) { try { GenHelper.WriteLog("[Log]", "[" + securityProvider.GetUserName() + "]" + controllername + "-Get(" + id.ToString() + "):[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); PurchaseReturnDetail existing = objectSpace.GetObjectByKey <PurchaseReturnDetail>(id); if (existing == null) { NotFound(); } return(Ok(existing)); } catch (Exception ex) { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-Get(" + id.ToString() + "):[" + ex.Message + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception(ex.Message); } }
public ActionResult Update(int id, [FromBody] JObject values) { try { GenHelper.WriteLog("[Log]", "[" + securityProvider.GetUserName() + "]" + controllername + "-Put(" + id.ToString() + "):[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); PurchaseReturnDetail employee = objectSpace.GetObjectByKey <PurchaseReturnDetail>(id); if (employee != null) { JsonParser.ParseJObjectXPO <PurchaseReturnDetail>(values, employee, objectSpace); objectSpace.CommitChanges(); return(Ok(employee)); } return(NotFound()); } catch (Exception ex) { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-Put(" + id.ToString() + "):[" + ex.Message + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception(ex.Message); } }
public string PurchaseReturnSelect(long purchase_return_id) { try { if (purchase_return_id == 0) { return("'Null'"); } List <PurchaseReturn> _salesReturn = new List <PurchaseReturn>(); var data = Database._PurchasedReturnSelect(purchase_return_id); foreach (var d in data) { PurchaseReturn _sr = new PurchaseReturn(); _sr.ID = d.ID; _sr.SupplierID = d.SupplierID.Value; _sr.SupplierName = d.SupplierName; _sr.Address = d.Address; _sr.ForwarderID = d.DeliveryToID.Value; _sr.SalesmanID = d.SalesmanID.Value; _sr.PoNO = d.PoNo; _sr.TermID = d.TermID.Value; _sr.RefNo = d.RefNo; _sr.RefSerial = d.RefNoSerial; _sr.Date = d.CreatedDate.Value; _sr.Notes = d.Notes; _sr.TotalAmount = d.TotalAmount.Value; var salesReturnDetails = Database._PurchasedReturnDetailsSelect(d.ID); List <PurchaseReturnDetail> purchaseReturnDetail = new List <PurchaseReturnDetail>(); foreach (var srd in salesReturnDetails) { PurchaseReturnDetail _srd = new PurchaseReturnDetail(); _srd.ID = srd.ID; _srd.ProductID = srd.ProductID.Value; _srd.ProductName = srd.ProductName; _srd.LocationID = srd.LocationID.Value; _srd.LocationName = srd.LocationName; _srd.Quantity = srd.Quantity.Value; _srd.Unit = srd.UnitName; _srd.UnitPrice = srd.UnitPrice.Value; _srd.Discount = srd.Discount; _srd.Amount = srd.Amount.Value; purchaseReturnDetail.Add(_srd); } _sr.PurchaseReturnDetails = purchaseReturnDetail; //-------------------------- var salesReturnPayment = Database._PurchasedPaymentReturns.Where(x => x.PurchasedReturnID == d.ID); List <ReturnApplyList> ApplyLists = new List <ReturnApplyList>(); foreach (var srp in salesReturnPayment) { ReturnApplyList _al = new ReturnApplyList(); _al.PurchaseID = srp.PurchasedID.Value; _al.RefNo = Database._PurchasedInvoices.SingleOrDefault(x => x.ID == srp.PurchasedID).RefNo + Database._PurchasedInvoices.SingleOrDefault(x => x.ID == srp.PurchasedID).RefNoSerial; _al.Date = Database._PurchasedInvoices.SingleOrDefault(x => x.ID == srp.PurchasedID).CreatedDate.Value; _al.Description = "Sales"; var salesman_id = Database._PurchasedInvoices.SingleOrDefault(x => x.ID == srp.PurchasedID.Value).Salesman; _al.Salesman = Database._Employees.SingleOrDefault(x => x.ID == salesman_id).EmployeeName; _al.Balance = (Database._PurchasedInvoices.SingleOrDefault(x => x.ID == srp.PurchasedID).SubTotal.Value - srp.Amount.Value); _al.AppliedAmount = srp.Amount.Value; ApplyLists.Add(_al); } _sr.ApplyLists = ApplyLists; _salesReturn.Add(_sr); } if (_salesReturn.Count <= 0) { return("'Null'"); } else { return(JsonConvert.SerializeObject(_salesReturn, Newtonsoft.Json.Formatting.None)); } } catch (Exception) { return(string.Empty); } }
public ReturnValue SaveReturnDetail(string no, List <ReturnDetailModel> list, int supplier, string remark, string deport) { using (var c = new InvoicingContext()) { try { var model = c.PurchaseReturns.FirstOrDefault(p => p.returnNo == no && p.status == 0); if (model == null) { return new ReturnValue { status = false, message = "不存在采购退单" } } ; if (list == null || list.Count < 1) { return new ReturnValue { status = false, message = "不存在采购退单" } } ; foreach (var item in list) { if (item.type == "") { continue; } if (item.type == "delete") { var d = c.PurchaseReturnDetails.FirstOrDefault(p => p.detailSn == item.returnSn); if (d != null) { c.PurchaseReturnDetails.Remove(d); } } else if (item.type == "edit") { var d = c.PurchaseReturnDetails.FirstOrDefault(p => p.detailSn == item.returnSn); if (d != null) { d.materialNo = item.materialNo; d.returnAmount = item.returnAmount; d.remark = item.remark; d.depotId = item.depotId; c.Entry(d).State = EntityState.Modified; } } else if (item.type == "add") { PurchaseReturnDetail d = new PurchaseReturnDetail(); var order = c.PurchaseDetails.FirstOrDefault(p => p.detailSn == item.purchaseDetailSn); //var stockin = c.StockInDetails.FirstOrDefault(p => p.detailSn == item.stockinDetailSn); //stockin.returnAmount += item.returnAmount; d.materialNo = item.materialNo; d.returnAmount = item.returnAmount; d.returnNo = no; d.depotId = item.depotId; d.remark = item.remark; d.buyPrice = order.poPrice; d.purchaseDetailSn = item.purchaseDetailSn; d.purchaseNo = item.purchaseNo; d.stockinDetailSn = item.stockinDetailSn; d.stockinNo = item.stockinNo; c.PurchaseReturnDetails.Add(d); } } #region 申请单 if (model.remark != remark || model.deportStaff != deport) { model.remark = remark; model.deportStaff = deport; c.Entry(model).State = EntityState.Modified; } #endregion c.SaveChanges(); return(new ReturnValue { status = true, message = "" }); } catch (Exception ex) { return(new ReturnValue { status = false, message = "保存失败:" + ex.Message }); } } }
public IActionResult GenPUR([FromBody] JObject values) { try { GenHelper.WriteLog("[Log]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenPUR:[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); GenHelper.WriteLog("[Json]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenPUR:[" + Environment.NewLine + values.ToString() + Environment.NewLine + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); // //JsonParser.ParseJObjectXPO<PurchaseDelivery>(values, employee, objectSpace); string temp = ""; JToken token; PurchaseReturn employee = objectSpace.CreateObject <PurchaseReturn>(); token = values["CardCode"]; temp = token["BoKey"].ToString(); employee.CardCode = objectSpace.FindObject <vwBusinessPartners>(CriteriaOperator.Parse("BoKey=?", temp)); employee.NumAtCard = values["NumAtCard"].ToString(); //JsonPopulateObjectHelper.PopulateObjectWODetail(values.ToString(), employee.Session, employee); string detalclassname = "PurchaseReturnDetail"; int intkeyvalue = -1; JArray jarray = (JArray)values[detalclassname]; int cnt = 0; foreach (JObject Jdtl in jarray.Children()) { if (Jdtl.ContainsKey("Oid")) { if (int.TryParse(Jdtl["Oid"].ToString(), out intkeyvalue)) { PurchaseReturnDetail dtl = objectSpace.GetObjectByKey <PurchaseReturnDetail>(intkeyvalue); cnt++; dtl.VisOrder = cnt; dtl.VerNo = 1; employee.PurchaseReturnDetail.Add(dtl); } else { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenPUR:[Details Key value is invalid][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception("Details Key value is invalid"); } } else { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenPUR:[Details Key Column Not found][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception("Details Key Column Not found"); } } if (employee.DocTypeSeries == null) { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenPUR:[Document series is not found][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception("Document series is not found"); } employee.DocStatus.AddDocStatus(DocStatus.Accepted, "WebApi Generated"); employee.DocStatus.CurrDocStatus = DocStatus.Accepted; employee.VerNo = 1; employee.AssignDocNumber(); objectSpace.CommitChanges(); return(Ok(employee.DocNum)); } catch (Exception ex) { GenHelper.WriteLog("[Error]", "[" + securityProvider.GetUserName() + "]" + controllername + "-GenPUR:[" + ex.Message + "][" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt") + "]"); throw new Exception(ex.Message); } }
private void Controller_ObjectCreated(object sender, ObjectCreatedEventArgs e) { ListView lv = ((ListView)View); if (lv.CollectionSource is PropertyCollectionSource) { PropertyCollectionSource collectionSource = (PropertyCollectionSource)lv.CollectionSource; if (collectionSource.MasterObject != null) { int minvalue = 0; int maxvisorder = 0; if (collectionSource.MasterObjectType == typeof(StockTransferRequest) && e.CreatedObject.GetType() == typeof(StockTransferRequestDetail)) { StockTransferRequest masterobject = (StockTransferRequest)collectionSource.MasterObject; StockTransferRequestDetail currentobject = (StockTransferRequestDetail)e.CreatedObject; copyCon.GetStockDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (sDtlS != null) { copyCon.copyClassStockTransferDocumentDetail(sDtlS, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseOrder)) { PurchaseOrder masterobject = (PurchaseOrder)collectionSource.MasterObject; PurchaseOrderDetail currentobject = (PurchaseOrderDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseRequest)) { PurchaseRequest masterobject = (PurchaseRequest)collectionSource.MasterObject; PurchaseRequestDetail currentobject = (PurchaseRequestDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseDelivery)) { PurchaseDelivery masterobject = (PurchaseDelivery)collectionSource.MasterObject; PurchaseDeliveryDetail currentobject = (PurchaseDeliveryDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseReturn)) { PurchaseReturn masterobject = (PurchaseReturn)collectionSource.MasterObject; PurchaseReturnDetail currentobject = (PurchaseReturnDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } else if (collectionSource.MasterObjectType == typeof(PurchaseQuotation)) { PurchaseQuotation masterobject = (PurchaseQuotation)collectionSource.MasterObject; PurchaseQuotationDetail currentobject = (PurchaseQuotationDetail)e.CreatedObject; copyCon.GetDetailClassVisOrder(masterobject, ref minvalue, ref maxvisorder); currentobject.Oid = minvalue; currentobject.VisOrder = maxvisorder; if (masterobject.DocCur != null) { currentobject.DocCur = currentobject.Session.GetObjectByKey <vwCurrency>(masterobject.DocCur.BoKey); } if (sDtl != null) { copyCon.copyClassDocumentDetail(sDtl, currentobject, e.ObjectSpace); } } } } sDtl = null; sDtlS = null; }
public void UpdatePurchaseReturn(PurchaseReturnColumnModel model) { try { using (this.unitOfWork) { var item = FetchPurchaseReturnById(model.Id); if (item != null) { //Delete old details if (item.PurchaseReturnDetail.Any()) { foreach (var d in item.PurchaseReturnDetail.ToList()) { AutoPartDetail detail = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId); detail.Quantity += d.Quantity; foreach (var payment in d.PurchasePayments.ToList()) { item.AmountUsed -= payment.Amount; db.DeleteObject(payment); } db.DeleteObject(d); } } item.MemoNumber = model.MemoNumber; item.CustomerId = model.CustomerId; item.ReturnDate = model.ReturnDate; item.AmountReturn = model.AmountReturn; item.Adjustment = model.Adjustment; item.TotalDebitAmount = model.TotalDebitAmount; item.Remarks = model.Remarks; item.IsDeleted = model.IsDeleted; item.RecordedBy = model.RecordedByUser; item.ApprovedBy = model.ApprovedByUser; //Add the new items if (model.Details.Count > 0) { foreach (PurchaseReturnDetailModel d in model.Details) { var autoPart = db.AutoPartDetail.FirstOrDefault(a => a.Id == d.PartDetailId); autoPart.Quantity -= d.Quantity; PurchaseReturnDetail detail = new PurchaseReturnDetail() { PartDetailId = d.PartDetailId, PONumber = d.PONumber, Quantity = d.Quantity, UnitPrice = d.UnitPrice, TotalAmount = d.TotalAmount, Balance = d.TotalAmount }; item.PurchaseReturnDetail.Add(detail); } } } string action = string.Format("Updated Purchase Return - {0}", item.MemoNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }