private PurchaseOrderTable getPurchaseOrderValue() { PurchaseOrderTable record = new PurchaseOrderTable(); record.supplierId = m_supplierPkey; record.tradingDate = this.labelTradingDate.Text; record.billNumber = this.labelBillNumber.Text; record.purchaseType = this.labelPurchaseType.Text; record.deliveryDate = this.labelDeliveryDate.Text; record.paymentDate = this.labelPaymentDate.Text; record.exchangesUnit = this.labelSummary.Text; record.sumValue = this.dataGridViewDataCount.Rows[0].Cells[(int)DataGridColumnName.Value].Value.ToString(); record.sumMoney = this.dataGridViewDataCount.Rows[0].Cells[(int)DataGridColumnName.Turnover].Value.ToString(); record.sumTransportationCost = this.dataGridViewDataCount.Rows[0].Cells[(int)DataGridColumnName.TransportationCost].Value.ToString(); record.sumOtherCost = this.dataGridViewDataCount.Rows[0].Cells[(int)DataGridColumnName.OtherCost].Value.ToString(); record.totalMoney = this.dataGridViewDataCount.Rows[0].Cells[(int)DataGridColumnName.SumTurnover].Value.ToString(); record.businessPeopleId = m_staffPkey; if (m_billNumber.Length == 0) { record.makeOrderStaff = DbPublic.getInctance().getCurrentLoginUserID(); } else { record.makeOrderStaff = m_purchaseOrder.makeOrderStaff; } return(record); }
private bool purchaseOrderIsFull(PurchaseOrderTable record) { if (record.supplierId == -1) { MessageBoxExtend.messageWarning("供应商信息不完整,单据保存失败"); return(false); } if (record.tradingDate.Length == 0) { MessageBoxExtend.messageWarning("日期不完整,单据保存失败"); return(false); } if (record.billNumber.Length == 0) { MessageBoxExtend.messageWarning("单据号信息不完整,单据保存失败"); return(false); } if (record.purchaseType.Length == 0) { MessageBoxExtend.messageWarning("采购信息不完整,单据保存失败"); return(false); } if (record.businessPeopleId == -1) { MessageBoxExtend.messageWarning("采购员信息不完整,单据保存失败"); return(false); } return(true); }
public IHttpActionResult GetUpdatePurchaseStatus1(int Id) { PurchaseOrderTable po = new PurchaseOrderTable(); try { po = db.PurchaseOrderTables.Where(q => q.PurchaseOrderID == Id).FirstOrDefault(); if (po != null) { po.Status = "accepted"; db.Entry(po).State = EntityState.Modified; db.SaveChanges(); return(Ok()); } else { return(NotFound()); } } catch (Exception) { return(BadRequest()); throw; } }
private void save_Click(object sender, EventArgs e) { // 得到详细的采购信息 ArrayList dataList = getPurchaseOrderDetailsValue(); if (dataList.Count > 0) { // 采购订单表头和表尾信息 PurchaseOrderTable record = getPurchaseOrderValue(); if (purchaseOrderIsFull(record) && purchaseOrderDetailsIsFull(dataList)) { PurchaseOrder.getInctance().insert(record, false); PurchaseOrderDetails.getInctance().insert(dataList); BillNumber.getInctance().inserBillNumber(BillTypeNumber, this.labelTradingDate.Text, this.labelBillNumber.Text.ToString()); if (m_billNumber.Length == 0) { MessageBoxExtend.messageOK("数据保存成功"); } this.Close(); } } else { MessageBoxExtend.messageWarning("此单据不包含任何交易信息,单据保存失败."); } }
public IHttpActionResult PutPurchaseOrderTable(int id, PurchaseOrderTable purchaseOrderTable) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != purchaseOrderTable.PurchaseOrderID) { return(BadRequest()); } db.Entry(purchaseOrderTable).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!PurchaseOrderTableExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetPurchaseOrderTable(int id) { PurchaseOrderTable purchaseOrderTable = db.PurchaseOrderTables.Find(id); if (purchaseOrderTable == null) { return(NotFound()); } return(Ok(purchaseOrderTable)); }
public IHttpActionResult PostPurchaseOrderTable(PurchaseOrderTable purchaseOrderTable) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.PurchaseOrderTables.Add(purchaseOrderTable); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = purchaseOrderTable.PurchaseOrderID }, purchaseOrderTable)); }
public IHttpActionResult DeleteQutationTable(int id) { PurchaseOrderTable PurchaseTable = db.PurchaseOrderTables.Find(id); if (PurchaseTable == null) { return(NotFound()); } db.PurchaseOrderTables.Remove(PurchaseTable); db.SaveChanges(); return(Ok(PurchaseTable)); }
private void save_Click(object sender, EventArgs e) { m_isSaveSuccess = false; if ((sender.ToString() == "保存" || sender.ToString() == "审核") && PurchaseOrder.getInctance().checkBillIsReview(this.labelBillNumber.Text.ToString())) { MessageBoxExtend.messageWarning("单据已被审核,所有数据无法进行更改,无法重复保存或审核\r\n请重新登录或手动刷新后查看单据详情"); return; } this.ActiveControl = this.toolStrip1; // 得到详细的采购信息 ArrayList dataList = getPurchaseOrderDetailsValue(); if (dataList.Count > 0) { // 采购订单表头和表尾信息 PurchaseOrderTable record = getPurchaseOrderValue(); if (purchaseOrderIsFull(record) && purchaseOrderDetailsIsFull(dataList)) { PurchaseOrder.getInctance().insert(record, false); PurchaseOrderDetails.getInctance().insert(dataList); BillNumber.getInctance().inserBillNumber(BillTypeNumber, this.labelTradingDate.Text, this.labelBillNumber.Text.ToString()); m_isSaveSuccess = true; if (m_billNumber.Length == 0) { MessageBoxExtend.messageOK("数据保存成功"); } this.Close(); } } else { MessageBoxExtend.messageWarning("此单据不包含任何交易信息,单据保存失败."); } }
private void readBillInfoToUI() { // 单据表头表尾信息 m_purchaseOrder = PurchaseOrder.getInctance().getPurchaseInfoFromBillNumber(m_billNumber); m_supplierPkey = m_purchaseOrder.supplierId; this.labelPurchaseName.Visible = true; this.labelTradingDate.Visible = true; this.labelBillNumber.Visible = true; this.labelPurchaseType.Visible = true; this.labelDeliveryDate.Visible = true; this.labelPaymentDate.Visible = true; this.labelSummary.Visible = true; this.labelBusinessPeople.Visible = true; this.labelMakeBillStaff.Visible = true; this.labelReviewBillStaff.Visible = true; this.labelReviewDate.Visible = true; this.labelPurchaseName.Text = m_purchaseOrder.supplierName; this.labelTradingDate.Text = m_purchaseOrder.tradingDate; this.labelBillNumber.Text = m_purchaseOrder.billNumber; this.labelPurchaseType.Text = m_purchaseOrder.purchaseType; this.labelDeliveryDate.Text = m_purchaseOrder.deliveryDate; this.labelPaymentDate.Text = m_purchaseOrder.paymentDate; this.labelSummary.Text = m_purchaseOrder.exchangesUnit; m_staffPkey = m_purchaseOrder.businessPeopleId; this.labelBusinessPeople.Text = m_purchaseOrder.businessPeopleName; this.labelMakeBillStaff.Text = m_purchaseOrder.makeOrderStaffName; // DataGridView 赋值 SortedDictionary <int, PurchaseOrderDetailsTable> purchaseOrderDetails = PurchaseOrderDetails.getInctance().getPurchaseInfoFromBillNumber(m_billNumber); foreach (KeyValuePair <int, PurchaseOrderDetailsTable> index in purchaseOrderDetails) { PurchaseOrderDetailsTable record = new PurchaseOrderDetailsTable(); record = index.Value; int rowIndex = Convert.ToInt32(record.rowNumber.ToString()) - 1; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.MatetielNumber].Value = record.materielID; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.MatetielName].Value = record.materielName; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.Model].Value = record.materielModel; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.Unit].Value = record.materielUnitPurchase; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.Price].Value = record.price; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.Value].Value = record.value; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.Turnover].Value = record.sumMoney; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.TransportationCost].Value = record.transportationCost; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.OtherCost].Value = record.otherCost; dataGridViewDataList.Rows[rowIndex].Cells[(int)DataGridColumnName.SumTurnover].Value = record.totalMoney; } // 如果单据已审核,则禁用页面所有控件 if (m_purchaseOrder.isReview == "1") { this.labelReviewBillStaff.Text = m_purchaseOrder.orderrReviewName; this.labelReviewDate.Text = m_purchaseOrder.reviewDate; this.panelIsReview.Visible = true; this.save.Enabled = false; this.toolStripButtonReview.Enabled = false; this.dataGridViewDataList.ReadOnly = true; this.dataGridViewDataCount.ReadOnly = true; this.panelPurchaseName.Visible = false; this.panelTradingDate.Visible = false; this.panelPurchaseType.Visible = false; this.panelDeliveryDate.Visible = false; this.panelPaymentDate.Visible = false; this.panelSummary.Visible = false; this.textBoxPurchaseName.Visible = false; this.dateTimePickerTradingDate.Visible = false; this.comboBoxPurchaseType.Visible = false; this.dateTimePickerDeliveryDate.Visible = false; this.dateTimePickerPaymentDate.Visible = false; this.textBoxSummary.Visible = false; this.panelBusinessPeople.Visible = false; } else { this.labelReviewBillStaff.Visible = false; this.labelReviewDate.Visible = false; } }
private void updateDataGridView() { SortedDictionary <int, ArrayList> sortedDictionaryList = new SortedDictionary <int, ArrayList>(); if (m_orderType == OrderType.PurchaseOrder) { SortedDictionary <int, PurchaseOrderTable> list = new SortedDictionary <int, PurchaseOrderTable>(); list = PurchaseOrder.getInctance().getAllPurchaseOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseOrderTable record = new PurchaseOrderTable(); record = (PurchaseOrderTable)list[index]; if (m_filter.startDate == null || (record.tradingDate.CompareTo(m_filter.startDate) >= 0 && record.tradingDate.CompareTo(m_filter.endDate) <= 0)) { ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.supplierName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.purchaseType); temp.Add(record.deliveryDate); temp.Add(record.paymentDate); temp.Add(record.sumMoney); temp.Add(record.sumTransportationCost); temp.Add(record.sumOtherCost); temp.Add(record.totalMoney); temp.Add(record.businessPeopleName); temp.Add(record.makeOrderStaffName); if (record.isReview == "0") { temp.Add("否"); } else { temp.Add("是"); } temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.PurchaseIn) { SortedDictionary <int, PurchaseInOrderTable> list = new SortedDictionary <int, PurchaseInOrderTable>(); list = PurchaseInOrder.getInctance().getAllPurchaseInOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseInOrderTable record = new PurchaseInOrderTable(); record = (PurchaseInOrderTable)list[index]; if (m_filter.startDate == null || (record.tradingDate.CompareTo(m_filter.startDate) >= 0 && record.tradingDate.CompareTo(m_filter.endDate) <= 0)) { ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.supplierName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.purchaseType); temp.Add(record.contractNum); temp.Add(record.paymentDate); temp.Add(record.sourceBillNumber); temp.Add(record.sumMoney); temp.Add(record.sumTransportationCost); temp.Add(record.sumOtherCost); temp.Add(record.totalMoney); temp.Add(record.staffSaveName); temp.Add(record.staffCheckName); temp.Add(record.businessPeopleName); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); temp.Add(record.orderInLedgerName); temp.Add(record.inLedgerDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.PurchaseInvoice) { } else if (m_orderType == OrderType.PurchaseOrderExcute) { SortedDictionary <int, PurchaseOrderTable> list = new SortedDictionary <int, PurchaseOrderTable>(); list = PurchaseOrder.getInctance().getAllPurchaseOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseOrderTable record = new PurchaseOrderTable(); record = (PurchaseOrderTable)list[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.supplierName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.deliveryDate); temp.Add(record.sumValue); if (record.isInStorage == "0") { temp.Add("否"); } else { temp.Add("是"); } temp.Add(record.actualValue); temp.Add(record.businessPeopleName); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.PurchaseInOrderExcute) { SortedDictionary <int, PurchaseInOrderTable> list = new SortedDictionary <int, PurchaseInOrderTable>(); list = PurchaseInOrder.getInctance().getAllPurchaseInOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseInOrderTable record = new PurchaseInOrderTable(); record = (PurchaseInOrderTable)list[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.supplierName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.purchaseType); temp.Add(record.paymentDate); temp.Add(record.totalMoney); temp.Add(record.paymentOk); temp.Add(record.paymentNoOk); temp.Add(record.businessPeopleName); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.StorageProductIn) { // 仓存管理-产品入库 SortedDictionary <int, MaterielInOrderTable> list = new SortedDictionary <int, MaterielInOrderTable>(); list = MaterielInOrder.getInctance().getAllMaterielInOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { bool isDisplayRecord = false; MaterielInOrderTable record = new MaterielInOrderTable(); record = (MaterielInOrderTable)list[index]; if (m_filter.startDate == null || (record.tradingDate.CompareTo(m_filter.startDate) >= 0 && record.tradingDate.CompareTo(m_filter.endDate) <= 0)) { // 等于0代表只显示已审核单据 if (m_filter.allReview == "0") { if (record.isReview == "1") { if (m_filter.billColor == "0") // 需要显示蓝字单据 { if (record.isRedBill == 0) { isDisplayRecord = true; } } else if (m_filter.billColor == "1") // 需要显示红字单据 { if (record.isRedBill == 1) { isDisplayRecord = true; } } else // 需要显示全部颜色单据 { isDisplayRecord = true; } } } else { if (m_filter.billColor == "0") // 需要显示蓝字单据 { if (record.isRedBill == 0) { isDisplayRecord = true; } } else if (m_filter.billColor == "1") // 需要显示红字单据 { if (record.isRedBill == 1) { isDisplayRecord = true; } } else // 需要显示全部颜色单据 { isDisplayRecord = true; } } } if (isDisplayRecord) { ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.departmentName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.sumValue); temp.Add(record.sumMoney); temp.Add(record.orderReviewStaffName); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.StorageInCheck) { // 仓存管理-盘盈入库 SortedDictionary <int, MaterielInEarningsOrderTable> list = new SortedDictionary <int, MaterielInEarningsOrderTable>(); list = MaterielInEarningsOrder.getInctance().getAllMaterielInEarningsOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { bool isDisplayRecord = false; MaterielInEarningsOrderTable record = new MaterielInEarningsOrderTable(); record = (MaterielInEarningsOrderTable)list[index]; if (m_filter.startDate == null || (record.tradingDate.CompareTo(m_filter.startDate) >= 0 && record.tradingDate.CompareTo(m_filter.endDate) <= 0)) { // 等于0代表只显示已审核单据 if (m_filter.allReview == "0") { if (record.isReview == "1") { if (m_filter.billColor == "0") // 需要显示蓝字单据 { if (record.isRedBill == 0) { isDisplayRecord = true; } } else if (m_filter.billColor == "1") // 需要显示红字单据 { if (record.isRedBill == 1) { isDisplayRecord = true; } } else // 需要显示全部颜色单据 { isDisplayRecord = true; } } } else { if (m_filter.billColor == "0") // 需要显示蓝字单据 { if (record.isRedBill == 0) { isDisplayRecord = true; } } else if (m_filter.billColor == "1") // 需要显示红字单据 { if (record.isRedBill == 1) { isDisplayRecord = true; } } else // 需要显示全部颜色单据 { isDisplayRecord = true; } } } if (isDisplayRecord) { ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.tradingDate); temp.Add(""); temp.Add(record.billNumber); temp.Add(record.sumValue); temp.Add(record.sumMoney); temp.Add(record.orderReviewStaffName); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.StorageInOther) { // 仓存管理-其他入库 SortedDictionary <int, MaterielInOtherOrderTable> list = new SortedDictionary <int, MaterielInOtherOrderTable>(); list = MaterielInOtherOrder.getInctance().getAllMaterielInOtherOrderInfo(); m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { bool isDisplayRecord = false; MaterielInOtherOrderTable record = new MaterielInOtherOrderTable(); record = (MaterielInOtherOrderTable)list[index]; if (m_filter.startDate == null || (record.tradingDate.CompareTo(m_filter.startDate) >= 0 && record.tradingDate.CompareTo(m_filter.endDate) <= 0)) { // 等于0代表只显示已审核单据 if (m_filter.allReview == "0") { if (record.isReview == "1") { if (m_filter.billColor == "0") // 需要显示蓝字单据 { if (record.isRedBill == 0) { isDisplayRecord = true; } } else if (m_filter.billColor == "1") // 需要显示红字单据 { if (record.isRedBill == 1) { isDisplayRecord = true; } } else // 需要显示全部颜色单据 { isDisplayRecord = true; } } } else { if (m_filter.billColor == "0") // 需要显示蓝字单据 { if (record.isRedBill == 0) { isDisplayRecord = true; } } else if (m_filter.billColor == "1") // 需要显示红字单据 { if (record.isRedBill == 1) { isDisplayRecord = true; } } else // 需要显示全部颜色单据 { isDisplayRecord = true; } } } if (isDisplayRecord) { ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.tradingDate); temp.Add(""); temp.Add(record.billNumber); temp.Add(record.sumValue); temp.Add(record.sumMoney); temp.Add(record.orderReviewStaffName); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } }
public JsonResult Proceeds(int Id, string Status) { MvcPurchaseModel PurchaseModel = new MvcPurchaseModel(); List <MvcPurchaseViewModel> _PurcchaseDetailList = new List <MvcPurchaseViewModel>(); InvoiceTable InvoiceTable = new InvoiceTable(); MVCInvoiceModel mvcInvoiceModel = new MVCInvoiceModel(); PurchaseOrderTable purchasemodel = new PurchaseOrderTable(); try { PurchaseModel = GetPurchasae(Id); _PurcchaseDetailList = GetPurchaseDetail(Id); if (PurchaseModel != null) { BillTable billtable = new BillTable(); billtable.CompanyId = PurchaseModel.CompanyId; billtable.UserId = Convert.ToInt32(Session["LoginUserID"]); billtable.Bill_ID = PurchaseModel.PurchaseID.ToString(); billtable.PurchaseId = PurchaseModel.PurchaseOrderID; billtable.VenderId = PurchaseModel.VenderId; billtable.RefNumber = PurchaseModel.PurchaseRefNumber; billtable.BillDate = Convert.ToDateTime(PurchaseModel.PurchaseDate); billtable.BillDueDate = Convert.ToDateTime(PurchaseModel.PurchaseDueDate); billtable.SubTotal = PurchaseModel.PurchaseSubTotal; billtable.DiscountAmount = PurchaseModel.PurchaseTotoalAmount; billtable.TotalAmount = PurchaseModel.PurchaseTotoalAmount; billtable.CustomerNote = PurchaseModel.PurchaseVenderNote; billtable.TotalVat6 = PurchaseModel.Vat6; billtable.TotalVat21 = PurchaseModel.Vat21; billtable.Status = "accepted"; billtable.Type = StatusEnum.Goods.ToString(); // bill Api HttpResponseMessage response = GlobalVeriables.WebApiClient.PostAsJsonAsync("AddBill", billtable).Result; BillTable billviewmodel = response.Content.ReadAsAsync <BillTable>().Result; if (response.StatusCode == System.Net.HttpStatusCode.OK) { if (_PurcchaseDetailList != null) { foreach (var item in _PurcchaseDetailList) { BillDetailTable billdetailtable = new BillDetailTable(); billdetailtable.BillID = billviewmodel.BilID; billdetailtable.ItemId = item.PurchaseItemId; billdetailtable.Description = item.PurchaseDescription; billdetailtable.Quantity = item.PurchaseQuantity; billdetailtable.Rate = item.PurchaseItemRate; billdetailtable.Total = item.PurchaseTotal; billdetailtable.Type = item.Type; billdetailtable.RowSubTotal = Convert.ToDouble(item.RowSubTotal); billdetailtable.Vat = item.PurchaseVatPercentage; billdetailtable.ServiceDate = item.ServiceDate; // APIBill HttpResponseMessage responsses = GlobalVeriables.WebApiClient.PostAsJsonAsync("AddBillDetail", billdetailtable).Result; if (responsses.StatusCode != System.Net.HttpStatusCode.OK) { return(new JsonResult { Data = new { Status = "Fail", Message = "Fail to Proceed" } }); } } if (UpdateQuatationStation(Id)) { return(new JsonResult { Data = new { Status = "Success", Message = "Proceed successfullly" } }); } } } } } catch (Exception) { throw; } return(new JsonResult { Data = new { Status = "Success", Message = "Proceed successfullly" } }); }
private void getInfoListFromBillNumber(FormProjectMaterielTable record) { SortedDictionary <int, ProjectManagerDetailsTable> listDetails = new SortedDictionary <int, ProjectManagerDetailsTable>(); listDetails = ProjectManagerDetails.getInctance().getPurchaseInfoFromBillNumber(record.billNumber); SortedDictionary <int, ProjectManagerDetailsTable> changeMaterielList = FormProjectInfoChange.getInctance().getMaterielDetailsFromSrcBillNumber(record.billNumber); for (int index2 = 0; index2 < listDetails.Count; index2++) { ProjectManagerDetailsTable tmp = new ProjectManagerDetailsTable(); tmp = (ProjectManagerDetailsTable)listDetails[index2]; // 物料数量可能会存在变更,若发生变更,需要使用变更后数量代替原有数量,在一个材料表中,序号是唯一值 double actualValue = 0.0; int sign = 0; if (tmp.no.Length > 0) { sign = Convert.ToInt32(tmp.no); } if (changeMaterielList.Count > 0 && changeMaterielList.ContainsKey(sign)) { if (tmp.materielID != changeMaterielList[sign].materielID) { // 相当于变更时,使用使用了另外一种物料替换了现有物料, tmp.materielID = changeMaterielList[sign].materielID; tmp.materielName = changeMaterielList[sign].materielName; tmp.num = changeMaterielList[sign].num; tmp.materielModel = changeMaterielList[sign].materielModel; tmp.materielParameter = changeMaterielList[sign].materielParameter; tmp.cl = changeMaterielList[sign].cl; tmp.materielSize = changeMaterielList[sign].materielSize; } actualValue = changeMaterielList[sign].value; changeMaterielList.Remove(sign); } else { actualValue = tmp.value; } ArrayList temp = new ArrayList(); temp.Add(record.billNumber); temp.Add(record.projectNum); temp.Add(record.makeNum); temp.Add(record.deviceMode); temp.Add(record.subName); temp.Add(tmp.materielID); temp.Add(tmp.materielName); temp.Add(tmp.num); temp.Add(tmp.materielModel); temp.Add(tmp.materielParameter); temp.Add(tmp.cl); temp.Add(tmp.materielSize); temp.Add(actualValue); // 得到实际库存 InitMaterielTable MaterielCountdata = InitMateriel.getInctance().getMaterielInfoFromMaterielID(tmp.materielID); temp.Add(MaterielCountdata.value); // 库存预占情况,包含总预占量和本项目预占量 temp.Add(MaterielProOccupiedOrderDetails.getInctance().getMaterielProCountInfoFromProject(tmp.materielID)); temp.Add(MaterielProOccupiedOrderDetails.getInctance().getMaterielProCountInfoFromProject(tmp.materielID, record.billNumber)); // 转采购申请单数量 double appylyCount = PurchaseApplyOrderDetails.getInctance().getPurchaseValueFromProjectNumber(record.billNumber, PublicFuction.getXXMateaielOrderSign(tmp.rowNumber, tmp.sequence, tmp.no)); temp.Add(appylyCount); // 采购订单数量 SortedDictionary <int, PurchaseOrderTable> listOrderList = new SortedDictionary <int, PurchaseOrderTable>(); listOrderList = PurchaseOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(record.billNumber); double orderCount = 0; for (int indexOrderList = 0; indexOrderList < listOrderList.Count; indexOrderList++) { PurchaseOrderTable recordOrder = new PurchaseOrderTable(); recordOrder = (PurchaseOrderTable)listOrderList[indexOrderList]; orderCount += PurchaseOrderDetails.getInctance().getPurchaseValueFromBillNumber(recordOrder.billNumber, tmp.materielID); } temp.Add(orderCount); // 采购入库数量 SortedDictionary <int, PurchaseInOrderTable> purchaseInOrderList = new SortedDictionary <int, PurchaseInOrderTable>(); purchaseInOrderList = PurchaseInOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(record.billNumber); double purchaseInOrderValueCount = 0; for (int indexOrderList = 0; indexOrderList < purchaseInOrderList.Count; indexOrderList++) { PurchaseInOrderTable recordOrder = new PurchaseInOrderTable(); recordOrder = (PurchaseInOrderTable)purchaseInOrderList[indexOrderList]; purchaseInOrderValueCount += PurchaseInOrderDetails.getInctance().getPurchaseValueFromBillNumber(recordOrder.billNumber, tmp.materielID); } temp.Add(purchaseInOrderValueCount); // 生产领料数量 double materielOutOrderValueCount = MaterielOutOrderDetails.getInctance().getMaterielCountInfoFromProject(record.billNumber, PublicFuction.getXXMateaielOrderSign(tmp.rowNumber, tmp.sequence, tmp.no)); temp.Add(materielOutOrderValueCount); m_projectInfoList.Add(m_projectInfoList.Count, temp); } // 如果changeMaterielList.count大于0 则代表有 foreach (KeyValuePair <int, ProjectManagerDetailsTable> index3 in changeMaterielList) { ProjectManagerDetailsTable tmp = new ProjectManagerDetailsTable(); tmp = index3.Value; ArrayList temp = new ArrayList(); temp.Add(record.billNumber); temp.Add(record.projectNum); temp.Add(record.makeNum); temp.Add(record.deviceMode); temp.Add(record.subName); temp.Add(tmp.materielID); temp.Add(tmp.materielName); temp.Add(tmp.num); temp.Add(tmp.materielModel); temp.Add(tmp.materielParameter); temp.Add(tmp.cl); temp.Add(tmp.materielSize); temp.Add(tmp.value); // 得到实际库存 InitMaterielTable MaterielCountdata = InitMateriel.getInctance().getMaterielInfoFromMaterielID(tmp.materielID); temp.Add(MaterielCountdata.value); // 库存预占情况,包含总预占量和本项目预占量 temp.Add(MaterielProOccupiedOrderDetails.getInctance().getMaterielProCountInfoFromProject(tmp.materielID)); temp.Add(MaterielProOccupiedOrderDetails.getInctance().getMaterielProCountInfoFromProject(tmp.materielID, record.billNumber)); // 转采购申请单数量 double appylyCount = PurchaseApplyOrderDetails.getInctance().getPurchaseValueFromProjectNumber(record.billNumber, PublicFuction.getXXMateaielOrderSign(tmp.rowNumber, tmp.sequence, tmp.no)); temp.Add(appylyCount); // 采购订单数量 SortedDictionary <int, PurchaseOrderTable> listOrderList = new SortedDictionary <int, PurchaseOrderTable>(); listOrderList = PurchaseOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(record.billNumber); double orderCount = 0; for (int indexOrderList = 0; indexOrderList < listOrderList.Count; indexOrderList++) { PurchaseOrderTable recordOrder = new PurchaseOrderTable(); recordOrder = (PurchaseOrderTable)listOrderList[indexOrderList]; orderCount += PurchaseOrderDetails.getInctance().getPurchaseValueFromBillNumber(recordOrder.billNumber, tmp.materielID); } temp.Add(orderCount); // 采购入库数量 SortedDictionary <int, PurchaseInOrderTable> purchaseInOrderList = new SortedDictionary <int, PurchaseInOrderTable>(); purchaseInOrderList = PurchaseInOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(record.billNumber); double purchaseInOrderValueCount = 0; for (int indexOrderList = 0; indexOrderList < purchaseInOrderList.Count; indexOrderList++) { PurchaseInOrderTable recordOrder = new PurchaseInOrderTable(); recordOrder = (PurchaseInOrderTable)purchaseInOrderList[indexOrderList]; purchaseInOrderValueCount += PurchaseInOrderDetails.getInctance().getPurchaseValueFromBillNumber(recordOrder.billNumber, tmp.materielID); } temp.Add(purchaseInOrderValueCount); // 生产领料数量 double materielOutOrderValueCount = MaterielOutOrderDetails.getInctance().getMaterielCountInfoFromProject(record.billNumber, PublicFuction.getXXMateaielOrderSign(tmp.rowNumber, tmp.sequence, tmp.no)); temp.Add(materielOutOrderValueCount); m_projectInfoList.Add(m_projectInfoList.Count, temp); } }
private void updateDataGridView() { SortedDictionary <int, ArrayList> sortedDictionaryList = new SortedDictionary <int, ArrayList>(); if (m_orderType == OrderType.PurchaseApplyOrder) { SortedDictionary <int, PurchaseApplyOrderTable> list = new SortedDictionary <int, PurchaseApplyOrderTable>(); SortedDictionary <int, PurchaseApplyOrderTable> listOrderList = new SortedDictionary <int, PurchaseApplyOrderTable>(); listOrderList = PurchaseApplyOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(m_xxMaterielTableNum); for (int indexOrderList = 0; indexOrderList < listOrderList.Count; indexOrderList++) { PurchaseApplyOrderTable recordOrder = new PurchaseApplyOrderTable(); recordOrder = (PurchaseApplyOrderTable)listOrderList[indexOrderList]; if (PurchaseApplyOrderDetails.getInctance().getPurchaseValueFromMaterielID(recordOrder.billNumber, m_materielID) > 0) { list.Add(list.Count, recordOrder); } } m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseApplyOrderTable record = new PurchaseApplyOrderTable(); record = (PurchaseApplyOrderTable)list[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.applyName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.srcOrderNum); temp.Add(record.paymentDate); temp.Add(record.totalMoney); temp.Add(record.makeOrderStaffName); if (record.isReview == "0") { temp.Add("否"); } else { temp.Add("是"); } temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.PurchaseOrder) { SortedDictionary <int, PurchaseOrderTable> list = new SortedDictionary <int, PurchaseOrderTable>(); SortedDictionary <int, PurchaseOrderTable> listOrderList = new SortedDictionary <int, PurchaseOrderTable>(); listOrderList = PurchaseOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(m_xxMaterielTableNum); for (int indexOrderList = 0; indexOrderList < listOrderList.Count; indexOrderList++) { PurchaseOrderTable recordOrder = new PurchaseOrderTable(); recordOrder = (PurchaseOrderTable)listOrderList[indexOrderList]; if (PurchaseOrderDetails.getInctance().getPurchaseValueFromBillNumber(recordOrder.billNumber, m_materielID) > 0) { list.Add(list.Count, recordOrder); } } m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseOrderTable record = new PurchaseOrderTable(); record = (PurchaseOrderTable)list[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.supplierName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.xxMaterielTableNum); temp.Add(record.deliveryDate); temp.Add(record.paymentDate); temp.Add(record.sumMoney); temp.Add(record.sumTransportationCost); temp.Add(record.sumOtherCost); temp.Add(record.totalMoney); temp.Add(record.businessPeopleName); temp.Add(record.makeOrderStaffName); if (record.isReview == "0") { temp.Add("否"); } else { temp.Add("是"); } temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.PurchaseIn) { SortedDictionary <int, PurchaseInOrderTable> list = new SortedDictionary <int, PurchaseInOrderTable>(); SortedDictionary <int, PurchaseInOrderTable> listOrderList = new SortedDictionary <int, PurchaseInOrderTable>(); listOrderList = PurchaseInOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(m_xxMaterielTableNum); for (int indexOrderList = 0; indexOrderList < listOrderList.Count; indexOrderList++) { PurchaseInOrderTable recordOrder = new PurchaseInOrderTable(); recordOrder = (PurchaseInOrderTable)listOrderList[indexOrderList]; if (PurchaseInOrderDetails.getInctance().getPurchaseValueFromBillNumber(recordOrder.billNumber, m_materielID) > 0) { list.Add(list.Count, recordOrder); } } m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { PurchaseInOrderTable record = new PurchaseInOrderTable(); record = (PurchaseInOrderTable)list[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.supplierName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.purchaseType); temp.Add(record.srcOrderNum); temp.Add(record.paymentDate); temp.Add(record.sourceBillNumber); temp.Add(record.sumMoney); temp.Add(record.sumTransportationCost); temp.Add(record.sumOtherCost); temp.Add(record.totalMoney); temp.Add(record.staffSaveName); temp.Add(record.staffCheckName); temp.Add(record.businessPeopleName); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); temp.Add(record.orderInLedgerName); temp.Add(record.inLedgerDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.StorageMaterielOut) { SortedDictionary <int, MaterielOutOrderTable> list = new SortedDictionary <int, MaterielOutOrderTable>(); SortedDictionary <int, MaterielOutOrderTable> listOrderList = new SortedDictionary <int, MaterielOutOrderTable>(); listOrderList = MaterielOutOrder.getInctance().getAllPurchaseOrderInfoFromProjectNum(m_xxMaterielTableNum); for (int indexOrderList = 0; indexOrderList < listOrderList.Count; indexOrderList++) { MaterielOutOrderTable recordOrder = new MaterielOutOrderTable(); recordOrder = (MaterielOutOrderTable)listOrderList[indexOrderList]; if (MaterielOutOrderDetails.getInctance().getPurchaseValueFromMaterielID(recordOrder.billNumber, m_materielID) > 0) { list.Add(list.Count, recordOrder); } } m_dataGridRecordCount = list.Count; for (int index = 0; index < list.Count; index++) { MaterielOutOrderTable record = new MaterielOutOrderTable(); record = (MaterielOutOrderTable)list[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.departmentName); temp.Add(record.tradingDate); temp.Add(record.billNumber); temp.Add(record.srcOrderNum); temp.Add(record.makeNo); temp.Add(record.sumValue); temp.Add(record.sumMoney); temp.Add(record.materielOutStaffName); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } else if (m_orderType == OrderType.ChangeApply) { //m_dateGridViewExtend.addDataGridViewColumn("ID", 30); //m_dateGridViewExtend.addDataGridViewColumn("源单据号", 150); //m_dateGridViewExtend.addDataGridViewColumn("设计人", 80); //m_dateGridViewExtend.addDataGridViewColumn("单据号", 150); //m_dateGridViewExtend.addDataGridViewColumn("变更原因", 300); //m_dateGridViewExtend.addDataGridViewColumn("制单员", 80); //m_dateGridViewExtend.addDataGridViewColumn("审核员", 80); //m_dateGridViewExtend.addDataGridViewColumn("审核日期", 80); // 根据源单据号,得到订单详细单据 if (m_srcChangeOrderBillNumber.Length > 0) { SortedDictionary <int, FormProjectMaterielChangeTable> changtList = FormProjectInfoChange.getInctance().getChangeListFromSrcBillNumber(m_srcChangeOrderBillNumber); m_dataGridRecordCount = changtList.Count; for (int index = 0; index < changtList.Count; index++) { FormProjectMaterielChangeTable record = new FormProjectMaterielChangeTable(); record = (FormProjectMaterielChangeTable)changtList[index]; ArrayList temp = new ArrayList(); temp.Add(record.pkey); temp.Add(record.srcBillNumber); temp.Add(record.designStaffName); temp.Add(record.billNumber); temp.Add(record.changeReason); temp.Add(record.makeOrderStaffName); temp.Add(record.orderrReviewName); temp.Add(record.reviewDate); sortedDictionaryList.Add(sortedDictionaryList.Count, temp); } m_dateGridViewExtend.initDataGridViewData(sortedDictionaryList, 3); } } }
public IHttpActionResult PostPurchase([FromBody] MvcPurchaseViewModel PurchaseViewModel) { using (DBEntities entities = new DBEntities()) { using (DbContextTransaction transaction = entities.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)) { try { PurchaseOrderTable _PTable = new PurchaseOrderTable(); _PTable.CompanyId = PurchaseViewModel.CompanyId; _PTable.UserId = PurchaseViewModel.UserId; _PTable.PurchaseID = PurchaseViewModel.PurchaseId.ToString(); _PTable.VenderId = PurchaseViewModel.VenderId; _PTable.PurchaseRefNumber = PurchaseViewModel.PurchaseRefNumber; _PTable.PurchaseDate = Convert.ToDateTime(PurchaseViewModel.PurchaseDate); _PTable.PurchaseDueDate = PurchaseViewModel.PurchaseDueDate; _PTable.PurchaseSubTotal = PurchaseViewModel.PurchaseSubTotal; _PTable.PurchaseDiscountAmount = PurchaseViewModel.PurchaseDiscountAmount; _PTable.PurchaseTotoalAmount = PurchaseViewModel.PurchaseTotoalAmount; _PTable.PurchaseVenderNote = PurchaseViewModel.PurchaseVenderNote; _PTable.Vat6 = PurchaseViewModel.Vat6; _PTable.Vat21 = PurchaseViewModel.Vat21; _PTable.Status = "open"; _PTable.Type = StatusEnum.Goods.ToString(); _PTable = entities.PurchaseOrderTables.Add(_PTable); entities.SaveChanges(); if (PurchaseViewModel.PurchaseOrderList != null) { foreach (PurchaseOrderDetailsTable item in PurchaseViewModel.PurchaseOrderList) { PurchaseOrderDetailsTable purchadeDetail = new PurchaseOrderDetailsTable(); purchadeDetail.PurchaseOrderDetailsId = item.PurchaseOrderDetailsId; purchadeDetail.PurchaseItemId = item.PurchaseItemId; purchadeDetail.PurchaseDescription = item.PurchaseDescription; purchadeDetail.PurchaseQuantity = item.PurchaseQuantity; purchadeDetail.PurchaseItemRate = item.PurchaseItemRate; purchadeDetail.PurchaseTotal = item.PurchaseTotal; purchadeDetail.Type = item.Type; purchadeDetail.RowSubTotal = item.RowSubTotal; purchadeDetail.PurchaseVatPercentage = item.PurchaseVatPercentage; purchadeDetail.PurchaseId = _PTable.PurchaseOrderID; purchadeDetail.ServiceDate = item.ServiceDate; entities.PurchaseOrderDetailsTables.Add(purchadeDetail); entities.SaveChanges(); } } AccountTransictionTable Account = new AccountTransictionTable(); Account.TransictionDate = DateTime.Now; Account.TransictionNumber = base64Guid; Account.TransictionType = "Purchase"; Account.CreationTime = DateTime.Now.TimeOfDay; Account.AddedBy = 1; Account.FK_CompanyId = PurchaseViewModel.CompanyId; Account.FKPaymentTerm = 1; Account.TransictionRefrenceId = _PTable.PurchaseOrderID.ToString(); //Accounts payable Transaction int Accountpayble = AccountIdByName("Accounts payable", (int)PurchaseViewModel.CompanyId); if (Accountpayble != 0) { Account.Dr = 0.00; Account.Cr = PurchaseViewModel.PurchaseTotoalAmount; Account.FK_AccountID = Accountpayble; entities.AccountTransictionTables.Add(Account); entities.SaveChanges(); } // Cost Of Goods Transaction int CostOfGood = AccountIdByName("Cost Of Goods", (int)PurchaseViewModel.CompanyId); if (CostOfGood != 0) { Account.Cr = 0.00; Account.Dr = PurchaseViewModel.PurchaseSubTotal; Account.FK_AccountID = CostOfGood; entities.AccountTransictionTables.Add(Account); entities.SaveChanges(); } // Input VAT Trnsaction int VatAccountId = AccountIdByName("Input VAT", (int)PurchaseViewModel.CompanyId); if (VatAccountId != 0) { Account.Cr = 0.00; Account.Dr = PurchaseViewModel.Vat21 + PurchaseViewModel.Vat6; Account.FK_AccountID = VatAccountId; entities.AccountTransictionTables.Add(Account); int Id = entities.SaveChanges(); } MvcPurchaseModel pModel = new MvcPurchaseModel(); pModel.PurchaseOrderID = _PTable.PurchaseOrderID; transaction.Commit(); return(Ok(pModel)); } catch (Exception) { transaction.Rollback(); return(BadRequest()); } } } }
public IHttpActionResult PutPurchaseTable(int id, MvcPurchaseViewModel PViewModel) { string Ref = PViewModel.PurchaseOrderID.ToString(); //accountTransictionTable.CreationTime = null; PurchaseOrderTable PTable = new PurchaseOrderTable(); using (DBEntities _dbcotext = new DBEntities()) { using (DbContextTransaction transaction = _dbcotext.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted)) { try { PTable.PurchaseID = PViewModel.PurchaseId.ToString(); PTable.PurchaseOrderID = Convert.ToInt32(PViewModel.PurchaseOrderID); PTable.PurchaseRefNumber = PViewModel.PurchaseRefNumber; PTable.CompanyId = PViewModel.CompanyId; PTable.VenderId = PViewModel.VenderId; PTable.UserId = PViewModel.UserId; PTable.PurchaseDate = PViewModel.PurchaseDate; PTable.PurchaseDueDate = PViewModel.PurchaseDueDate; PTable.PurchaseSubTotal = PViewModel.PurchaseSubTotal; PTable.PurchaseDiscountAmount = PViewModel.PurchaseDiscountAmount; PTable.PurchaseTotoalAmount = PViewModel.PurchaseTotoalAmount; PTable.PurchaseVenderNote = PViewModel.PurchaseVenderNote; PTable.Vat6 = PViewModel.Vat6; PTable.Vat21 = PViewModel.Vat21; PTable.Status = "open"; PTable.Type = StatusEnum.Goods.ToString(); _dbcotext.Entry(PTable).State = EntityState.Modified; _dbcotext.SaveChanges(); if (PViewModel.PurchaseOrderList != null) { foreach (PurchaseOrderDetailsTable item in PViewModel.PurchaseOrderList) { PurchaseOrderDetailsTable DTable = new PurchaseOrderDetailsTable(); DTable.PurchaseOrderDetailsId = item.PurchaseOrderDetailsId; DTable.PurchaseItemId = item.PurchaseItemId; DTable.PurchaseDescription = item.PurchaseDescription; DTable.PurchaseQuantity = item.PurchaseQuantity; DTable.PurchaseItemRate = item.PurchaseItemRate; DTable.Type = item.Type; DTable.RowSubTotal = item.RowSubTotal; DTable.PurchaseDescription = item.PurchaseDescription; PTable.VenderId = PViewModel.VenderId; DTable.ServiceDate = item.ServiceDate; PTable.CompanyId = PViewModel.CompanyId; DTable.PurchaseTotal = item.PurchaseTotal; DTable.PurchaseVatPercentage = item.PurchaseVatPercentage; DTable.PurchaseId = PViewModel.PurchaseOrderID; if (DTable.PurchaseOrderDetailsId == 0) { _dbcotext.PurchaseOrderDetailsTables.Add(DTable); _dbcotext.SaveChanges(); } else { _dbcotext.Entry(DTable).State = EntityState.Modified; _dbcotext.SaveChanges(); } } AccountTransictionTable Account = new AccountTransictionTable(); Account.TransictionDate = DateTime.Now; Account.TransictionNumber = base64Guid; Account.TransictionType = "Purchase"; Account.CreationTime = DateTime.Now.TimeOfDay; Account.AddedBy = PViewModel.UserId; Account.FK_CompanyId = PViewModel.CompanyId; Account.FKPaymentTerm = 1; Account.TransictionRefrenceId = PTable.PurchaseOrderID.ToString(); //Accounts payable Transaction List <AccountTransictionTable> List = new List <AccountTransictionTable>(); List = _dbcotext.AccountTransictionTables.Where(t => t.TransictionRefrenceId == Ref.ToString()).ToList(); _dbcotext.AccountTransictionTables.RemoveRange(_dbcotext.AccountTransictionTables.Where(F => F.TransictionRefrenceId == Ref.ToString())); _dbcotext.SaveChanges(); int Accountpayble = AccountIdByName("Accounts payable", (int)PViewModel.CompanyId); if (Accountpayble != 0) { Account.Dr = 0.00; Account.Cr = PViewModel.PurchaseTotoalAmount; Account.FK_AccountID = Accountpayble; _dbcotext.AccountTransictionTables.Add(Account); _dbcotext.SaveChanges(); } // Cost Of Goods Transaction int CostOfGood = AccountIdByName("Cost Of Goods", (int)PViewModel.CompanyId); if (CostOfGood != 0) { Account.Cr = 0.00; Account.Dr = PViewModel.PurchaseSubTotal; Account.FK_AccountID = CostOfGood; _dbcotext.AccountTransictionTables.Add(Account); _dbcotext.SaveChanges(); } // Input VAT Trnsaction int VatAccountId = AccountIdByName("Input VAT", (int)PViewModel.CompanyId); if (VatAccountId != 0) { Account.Cr = 0.00; Account.Dr = PViewModel.Vat21 + PViewModel.Vat6; Account.FK_AccountID = VatAccountId; _dbcotext.AccountTransictionTables.Add(Account); int Id = _dbcotext.SaveChanges(); } transaction.Commit(); return(Ok()); } } catch (Exception) { transaction.Rollback(); return(BadRequest()); } return(BadRequest()); } } /////db.Entry(PurchaseTable).State = EntityState.Modified; //db.SaveChanges(); // return Ok(PurchaseTable); }