private void writeBillDetailsInfoFromBillNumber(string billNumber) { // DataGridView 赋值 SortedDictionary <int, SaleOrderDetailsTable> saleOrderDetails = SaleOrderDetails.getInctance().getSaleInfoFromBillNumber(billNumber); foreach (KeyValuePair <int, SaleOrderDetailsTable> index in saleOrderDetails) { SaleOrderDetailsTable record = new SaleOrderDetailsTable(); 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.materielUnitSale; 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; } }
public SaleOrderDetails Gets() { SaleOrderDetails oSaleOrderDetails = new SaleOrderDetails(); try { SqlCommand cmd = new SqlCommand("SP_SaleOrderDetail_Gets", _conn); cmd.CommandType = CommandType.StoredProcedure; if (_conn.State == ConnectionState.Open) { } else { cmd.Connection.Open(); } IDataReader reader = cmd.ExecuteReader(); oSaleOrderDetails = CreateObjects(reader); reader.Close(); cmd.Dispose(); cmd.Connection.Close(); } catch (Exception e) { throw new ServiceException(e.Message, e); } return(oSaleOrderDetails); }
public SaleOrderDetails GetsByString(string sString) { SaleOrderDetails oSaleOrderDetails = new SaleOrderDetails(); try { SqlCommand cmd = new SqlCommand("SP_SaleOrderDetail_GetsByString", _conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@SaleID", SqlDbType.VarChar)).Value = sString; if (_conn.State == ConnectionState.Open) { } else { cmd.Connection.Open(); } IDataReader reader = cmd.ExecuteReader(); oSaleOrderDetails = CreateObjects(reader); reader.Close(); cmd.Dispose(); cmd.Connection.Close(); } catch (Exception e) { throw new ServiceException(e.Message, e); } return(oSaleOrderDetails); }
private void save_Click(object sender, EventArgs e) { // 得到详细的销售信息 ArrayList dataList = getSaleOrderDetailsValue(); if (dataList.Count > 0) { // 销售订单表头和表尾信息 SaleOrderTable record = getSaleOrderValue(); if (purchaseOrderIsFull(record) && purchaseOrderDetailsIsFull(dataList)) { SaleOrder.getInctance().insert(record, false); SaleOrderDetails.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("此单据不包含任何交易信息,单据保存失败."); } }
private void AddOrderDetail( string custormerNo, List <ShoppingCarts> carts, List <ProductSales> productSales, List <ProductPhotos> productPhotos, List <Products> products, DateTime inputDate, string saleOrderNo) { foreach (var cart in carts) { SaleOrderDetails detail = new SaleOrderDetails() { SaleOrderGuid = Guid.NewGuid().ToString(), SaleOrderNo = saleOrderNo, ProductNo = cart.ProductNo, ProductName = products.Find(m => m.ProductNo == cart.ProductNo)?.ProductName, ProductPhotoUrl = productPhotos.Find(m => m.ProductNo == cart.ProductNo)?.ProductPhotoUrl, CustomerNo = custormerNo, InputDate = inputDate, OrderNum = cart.ProductNum, BasePrice = productSales.Find(m => m.ProductNo == cart.ProductNo)?.SalePrice ?? 0, DiffPrice = 0, SalePrice = productSales.Find(m => m.ProductNo == cart.ProductNo)?.SalePrice ?? 0, }; _orderDetailRepository.Insert(detail); } _cartService.RemoveCart(carts.Select(m => m.CartGuid).ToArray()); }
private void toolStripButtonRefresh_Click(object sender, EventArgs e) { // 刷新按钮逻辑 if (m_orderType == OrderType.SaleQuotation) { // 销售管理-销售报价单序时簿 SaleQuotationOrder.getInctance().refreshRecord(); } else if (m_orderType == OrderType.SaleOrder) { // 销售管理-销售订单序时簿 SaleOrder.getInctance().refreshRecord(); SaleOrderDetails.getInctance().refreshRecord(); } else if (m_orderType == OrderType.SaleOut) { // 销售管理-销售出库单序时簿 SaleOutOrder.getInctance().refreshRecord(); SaleOutOrderDetails.getInctance().refreshRecord(); } else if (m_orderType == OrderType.SaleInvoice) { // 销售管理-销售发票序时簿(暂时为空就可以) } else if (m_orderType == OrderType.SaleOrderExcute) { // 销售管理-销售订单执行情况 SaleOrder.getInctance().refreshRecord(); SaleOrderDetails.getInctance().refreshRecord(); } else if (m_orderType == OrderType.SaleOutOrderExcute) { // 销售管理-销售出库单收款情况 SaleOutOrder.getInctance().refreshRecord(); SaleOutOrderDetails.getInctance().refreshRecord(); } else if (m_orderType == OrderType.StorageMaterielOut) { // 仓存管理-生产领料 MaterielOutOrder.getInctance().refreshRecord(); MaterielOutOrderDetails.getInctance().refreshRecord(); } else if (m_orderType == OrderType.StorageOutCheck) { // 仓存管理-盘亏亏损 MaterielOutEarningsOrder.getInctance().refreshRecord(); MaterielOutEarningsOrderDetails.getInctance().refreshRecord(); } else if (m_orderType == OrderType.StorageOutOther) { // 仓存管理-其他出库 MaterielOutOtherOrder.getInctance().refreshRecord(); MaterielOutOtherOrderDetails.getInctance().refreshRecord(); } updateDataGridView(); }
private SaleOrderDetails CreateObjects(IDataReader oReader) { SaleOrderDetails oSaleOrderDetails = new SaleOrderDetails(); NullHandler oHandler = new NullHandler(oReader); while (oReader.Read()) { SaleOrderDetail oItem = CreateObject(oHandler); oSaleOrderDetails.Add(oItem); } return(oSaleOrderDetails); }
private SaleOrders CalculateOrder(CartViewModel model) { var order = new SaleOrders(); order.AcceptedTime = null; order.CancledTime = null; order.Id = _rand.RandomStringFrom(RandomExtension.Uppers_Digits, 10); order.OrderTime = DateTime.UtcNow; order.FinishedTime = null; order.Status = "New"; var details = new List <SaleOrderDetails>(); foreach (var kv in model.details) { var d = kv.Value; var pro = _context.Products.FirstOrDefault(p => p.Id == d.product_id && p.Active == true); var oD = new SaleOrderDetails(); oD.Id = Guid.NewGuid().ToString(); oD.OrderId = order.Id; oD.ProductId = pro.Id; oD.Quantity = d.quantity; oD.TotalAmount = d.quantity * pro.UnitPrice; if (pro.DiscountAmount != null) { oD.FinalAmount = oD.TotalAmount - pro.DiscountAmount; } else if (pro.DiscountPercent != null) { oD.FinalAmount = oD.TotalAmount - (oD.TotalAmount * pro.DiscountPercent / 100.0); } else { oD.FinalAmount = oD.TotalAmount; } details.Add(oD); } order.SaleOrderDetails = details; order.TotalAmount = details.Sum(oD => oD.TotalAmount); order.FinalAmount = details.Sum(oD => oD.FinalAmount); return(order); }
private void save_Click(object sender, EventArgs e) { m_isSaveSuccess = false; if ((sender.ToString() == "保存" || sender.ToString() == "审核") && SaleOrder.getInctance().checkBillIsReview(this.labelBillNumber.Text.ToString())) { MessageBoxExtend.messageWarning("单据已被审核,所有数据无法进行更改,无法重复保存或审核\r\n请重新登录或手动刷新后查看单据详情"); return; } this.ActiveControl = this.toolStrip1; // 得到详细的销售信息 ArrayList dataList = getSaleOrderDetailsValue(); if (dataList.Count > 0) { // 销售订单表头和表尾信息 SaleOrderTable record = getSaleOrderValue(); if (purchaseOrderIsFull(record) && purchaseOrderDetailsIsFull(dataList)) { SaleOrder.getInctance().insert(record, false); SaleOrderDetails.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("此单据不包含任何交易信息,单据保存失败."); } }
public IActionResult IndexPost() { List <BuyProductViewModel> lstCartItems = HttpContext.Session.Get <List <BuyProductViewModel> >("ssShoppingCart"); double Total = 0.0; Clients client = ShoppingCartVM.client; SaleOrders saleOrder = new SaleOrders() { Description = ShoppingCartVM.Description, OrderDate = DateTime.Now }; // Xử lí thông tin người mua & tạo đơn hàng if (_db.clients.Where(m => m.Name == client.Name).Count() == 0) { _db.clients.Add(client); _db.SaveChanges(); saleOrder.ClientId = _db.clients .OrderByDescending(x => x.Id) .Take(1) .Select(x => x.Id) .FirstOrDefault(); _db.saleOrders.Add(saleOrder); _db.SaveChanges(); } else { saleOrder.ClientId = _db.clients.Where(m => m.Name == client.Name).Select(x => x.Id).FirstOrDefault(); _db.saleOrders.Add(saleOrder); _db.SaveChanges(); } // Xử lí các sp người đó mua int saleOrderId = _db.saleOrders .OrderByDescending(x => x.Id) .Take(1) .Select(x => x.Id) .FirstOrDefault(); foreach (BuyProductViewModel product in lstCartItems) { Products prod = new Products(); prod = _db.products.Where(m => m.Id == product.productId).FirstOrDefault(); Total += prod.DefaultSellingPrice; prod.Stock -= product.amount; SaleOrderDetails saleOrderDetail = new SaleOrderDetails() { SaleOrderId = saleOrderId, ExportProductId = prod.Id, Description = "Xuất hàng theo hóa đơn của khách hàng " + client.Id, Quantity = product.amount, Total = prod.DefaultSellingPrice * product.amount }; _db.saleOrderDetails.Add(saleOrderDetail); _db.SaveChanges(); } // Cập nhật giá trị đơn hàng saleOrder.Total = (float)Total; _db.SaveChanges(); lstCartItems = new List <BuyProductViewModel>(); HttpContext.Session.Set("ssShoppingCart", lstCartItems); return(RedirectToAction("SaleOrderConfirmation", "ShoppingCart", new { id = saleOrderId })); }
private void readBillInfoToUI() { // 单据表头表尾信息 m_purchaseOrder = SaleOrder.getInctance().getSaleInfoFromBillNumber(m_billNumber); m_customerPkey = m_purchaseOrder.customerId; this.labelSaleName.Visible = true; this.labelTradingDate.Visible = true; this.labelBillNumber.Visible = true; this.labelSaleType.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.labelSaleName.Text = m_purchaseOrder.customerName; this.labelTradingDate.Text = m_purchaseOrder.tradingDate; this.labelBillNumber.Text = m_purchaseOrder.billNumber; this.labelSaleType.Text = m_purchaseOrder.saleType; 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, SaleOrderDetailsTable> purchaseOrderDetails = SaleOrderDetails.getInctance().getSaleInfoFromBillNumber(m_billNumber); foreach (KeyValuePair <int, SaleOrderDetailsTable> index in purchaseOrderDetails) { SaleOrderDetailsTable record = new SaleOrderDetailsTable(); 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.materielUnitSale; 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.panelSaleName.Visible = false; this.panelTradingDate.Visible = false; this.panelSaleType.Visible = false; this.panelDeliveryDate.Visible = false; this.panelPaymentDate.Visible = false; this.panelSummary.Visible = false; this.textBoxSaleName.Visible = false; this.dateTimePickerTradingDate.Visible = false; this.comboBoxSaleType.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; } }