private void button2_Click(object sender, EventArgs e) { var dt = Library.ConvertToDataTable(mrs); frmMainReport mr = new frmMainReport(this, dt, MyConstant.TypeReport.ReportMemberChange); mr.Show(); }
/// <summary> /// พิมพ์ใบ Adjust /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button4_Click(object sender, EventArgs e) { string code = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString(); frmMainReport report = new frmMainReport(this, code); report.Show(); }
/// <summary> /// พิมพ์ /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button4_Click(object sender, EventArgs e) { try { string code = textBoxDocNo.Text.Trim(); using (SSLsEntities db = new SSLsEntities()) { var getDocOlder = db.StoreFrontValueDoc.SingleOrDefault(w => w.DocNo == code && w.Enable == true); if (getDocOlder != null) { getDocOlder.PrintNumber = getDocOlder.PrintNumber + 1; db.Entry(getDocOlder).State = EntityState.Modified; db.SaveChanges(); } else { MessageBox.Show("ไม่ถูกต้อง"); } } frmMainReport mr = new frmMainReport(this, code); mr.Show(); } catch (Exception) { MessageBox.Show("ไม่ถูกต้อง"); } }
private void button5_Click(object sender, EventArgs e) { string code = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString(); // Open Paper WasteCN frmMainReport mr = new frmMainReport(this, code); mr.Show(); }
private void button6_Click(object sender, EventArgs e) { try { /// รหัสใบออเดอร์ string code = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[NoCN].Value.ToString(); frmMainReport mr = new frmMainReport(this, code); mr.Show(); } catch (Exception) { MessageBox.Show("จำนวนเอกสารผิดพลาด"); } }
private void button4_Click(object sender, EventArgs e) { try { frmMainReport mr = new frmMainReport(this, ls); mr.Show(); //string code = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[NoCN].Value.ToString(); //frmMainReport mr = new frmMainReport(this, code); //mr.Show(); } catch (Exception) { MessageBox.Show("ไม่ถูกต้อง"); } }
private void button6_Click(object sender, EventArgs e) { try { /// รหัสใบออเดอร์ string code = textBoxRcvNo.Text; if (code == "") { MessageBox.Show("ไม่พบเลขที่รับเข้า"); return; } frmMainReport mr = new frmMainReport(this, code); mr.Show(); } catch (Exception) { MessageBox.Show("จำนวนเอกสารผิดพลาด"); } }
/// <summary> /// พิมพ์ใบ A4 ออเดอร์ ที่เลือก /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button6_Click(object sender, EventArgs e) { try { /// รหัสใบออเดอร์ string code = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[2].Value.ToString(); frmMainReport mr = new frmMainReport(this, code); mr.Show(); //int docQty = int.Parse(textBoxDocQty.Text.Trim()); //var codeSelected = GetCodeOrderSelected(); //PaperSaleOrderWarehouseViewer obj = new PaperSaleOrderWarehouseViewer(this, docQty, codeSelected); //obj.ShowDialog(); } catch (Exception) { MessageBox.Show("จำนวนเอกสารผิดพลาด"); } }
private void button4_Click(object sender, EventArgs e) { if (row > -1) { DialogResult dr = MessageBox.Show("คุณต้องพิมพ์ซ้ำ ใช่หรือไม่ ?", "เเจ้งเพื่อทราบ", MessageBoxButtons.YesNo, MessageBoxIcon.Information); switch (dr) { case DialogResult.Yes: Cursor.Current = Cursors.WaitCursor; frmMainReport report = new frmMainReport(this, dataGridView1.Rows[row].Cells["Column1"].Value.ToString()); report.Show(); Cursor.Current = Cursors.Default; break; case DialogResult.No: break; } } }
private void SaveCommit() { SSLsEntities db = new SSLsEntities(); try { var rcvOld = db.PORcv.SingleOrDefault(w => w.Enable == true && w.Code == textBoxRcvNo.Text); rcvOld.PORefer = rcvOld.PORefer + "," + textBoxPONo.Text; rcvOld.Description = textBoxDesc.Text; rcvOld.UpdateDate = DateTime.Now; rcvOld.UpdateBy = SingletonAuthen.Instance().Id; rcvOld.DiscountKey = textBoxDiscountKey.Text; rcvOld.DiscountBath = decimal.Parse(textBoxDiscountBath.Text); rcvOld.TotalBUnVat = decimal.Parse(textBoxTotalUnVat.Text); rcvOld.TotalBHasVat = decimal.Parse(textBoxTotalHasVat.Text); rcvOld.TotalVat = decimal.Parse(textBoxTotalVat.Text); rcvOld.TotalGift = _totalGift; // details //List<PORcvDetails> details = new List<PORcvDetails>(); PORcvDetails detail; decimal rcvAndGift = 0; for (int i = 0; i < dataGridView1.Rows.Count; i++) { detail = new PORcvDetails(); detail.Enable = true; detail.CreateDate = DateTime.Now; detail.CreateBy = SingletonAuthen.Instance().Id; detail.UpdateDate = DateTime.Now; detail.UpdateBy = SingletonAuthen.Instance().Id; string proCode = dataGridView1.Rows[i].Cells[colCode].Value.ToString(); var product = Singleton.SingletonProduct.Instance().ProductDetails.FirstOrDefault(w => w.Code == proCode); detail.FKProductDtl = product.Id; detail.SequenceNumber = int.Parse(dataGridView1.Rows[i].Cells[colNumber].Value.ToString()); // รับเข้าในครั้งนี้ detail.RcvQuantity = decimal.Parse(dataGridView1.Rows[i].Cells[colQtyRcv].Value.ToString()); if (_po.Vendor.FKPOCostType == MyConstant.POCostType.CostOnly) // ตรวจสอบการ ยึดราคาทุน { detail.CurrentCost = product.CostOnly; } else if (_po.Vendor.FKPOCostType == MyConstant.POCostType.CostAndVat) { detail.CurrentCost = product.CostAndVat; } else { detail.CurrentCost = product.CostAndVat; } detail.QtyOnPO = decimal.Parse(dataGridView1.Rows[i].Cells[colQty].Value.ToString()); detail.NewCost = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()); detail.DiscountKey = dataGridView1.Rows[i].Cells[colDiscountKey].Value.ToString(); detail.DiscountBath = decimal.Parse(dataGridView1.Rows[i].Cells[colDiscountBath].Value.ToString()); detail.TotalPrice = decimal.Parse(dataGridView1.Rows[i].Cells[colTotal].Value.ToString()); detail.GiftOnPo = decimal.Parse(dataGridView1.Rows[i].Cells[colGiftOnPo].Value.ToString()); detail.GiftQty = decimal.Parse(dataGridView1.Rows[i].Cells[colGift].Value.ToString()); detail.SequenceNumber = int.Parse(dataGridView1.Rows[i].Cells[colNumber].Value.ToString()); int idPO = int.Parse(dataGridView1.Rows[i].Cells[colId].Value.ToString()); // ยอดรับเข้าครั้งนี้ = ยอดรับเข้า+ของแถม rcvAndGift = detail.GiftQty + detail.RcvQuantity; if (idPO != 0) { rcvOld.PORcvDetails.Add(detail); var getProductRcv = db.PODetail.FirstOrDefault(w => w.Id == idPO); getProductRcv.RcvQty = detail.GiftQty; getProductRcv.RcvGiftQty = rcvAndGift; db.Entry(getProductRcv).State = EntityState.Modified; } decimal rcvComplet = decimal.Parse(dataGridView1.Rows[i].Cells[colQtyRcvComplete].Value.ToString()); } db.Entry(rcvOld).State = EntityState.Modified; //List<PORcvDetails> rcvDtl = rcv.PORcvDetails.ToList(); //Library.MakeValueForUpdateStockWms(rcvDtl); // update po status = 3 เคยมีการรับเข้าแล้ว เชคว่าครบแล้วหรือไม่ var po = db.POHeader.SingleOrDefault(w => w.Id == _po.Id); decimal checkRcvQty = 0; decimal checkRcvGiftQty = 0; //foreach (var item in po.PODetail.Where(w => w.Enable == true).ToList()) //{ // // ดึง // var getProductRcv = rcvOld.PORcvDetails.FirstOrDefault(w => w.FKProductDtl == item.FKProductDetail); // item.RcvQty = item.RcvQty + getProductRcv.RcvQuantity; // item.RcvGiftQty = item.RcvGiftQty + getProductRcv.GiftQty; // db.Entry(item).State = EntityState.Modified; // checkRcvQty = checkRcvQty + item.RcvQty; // checkRcvGiftQty = checkRcvGiftQty + item.RcvGiftQty; //} //if ((checkRcvQty + checkRcvGiftQty) == (po.TotalQty + po.TotalGift)) //{ // // ถ้ารับเข้าครบ แปลว่า Complete // po.FKPOStatus = MyConstant.POStatus.RCVComplete; //} //else //{ // po.FKPOStatus = MyConstant.POStatus.RCVNotEnd; //} po.FKPOStatus = MyConstant.POStatus.RCVNotEnd; db.Entry(po).State = EntityState.Modified; db.SaveChanges(); // reset form frmMainReport mr = new frmMainReport(this, textBoxRcvNo.Text); mr.Show(); } catch (Exception) { MessageBox.Show("ไม่ถูกต้อง พบข้อผิดพลาด กรุณาติดต่อ admin"); } finally { db.Dispose(); } }
public void BillingData() { Cursor.Current = Cursors.WaitCursor; using (SSLsEntities db = new SSLsEntities()) { DateTime dateS = dateTimePickerStart.Value; DateTime dateE = dateTimePickerEnd.Value; int checkCombo1 = 0; int checkCombo2 = 0; List <int> fkProHd = new List <int>(); string code1 = textBox1.Text.Trim(); string code2 = textBox2.Text.Trim(); if (code1 == "") { fkProHd = db.StoreFrontStock.Where(w => w.Enable == true).Select(w => w.FKProduct).Distinct().ToList(); } else { fkProHd = Library.GetAllProDtlId(code1, code2); } //if (comboBox1.Text != "ทั้งหมด") //{ // checkCombo1 = int.Parse(comboBox1.SelectedValue.ToString()); // checkCombo2 = int.Parse(comboBox2.SelectedValue.ToString()); // fkProHd = db.StoreFrontStock.Where(w => w.Enable == true).Select(w => w.FKProduct).Distinct().ToList(); //} //else //{ // fkProHd = Library.GetAllProDtlId(code1, code2); //} //var txt1 = Singleton.SingletonProduct.Instance().ProductDetails.Where(ww => ww.Code == textBox1.Text & ww.Enable == true).Select(s => s.FKProduct).FirstOrDefault(); //var txt2 = Singleton.SingletonProduct.Instance().ProductDetails.Where(ww => ww.Code == textBox2.Text & ww.Enable == true).Select(s => s.FKProduct).FirstOrDefault(); // var listData = db.StoreFrontStockDetails.Where(w => w.Enable == true && // fkProHd.Contains(w.StoreFrontStock.FKProduct) && // DbFunctions.TruncateTime(w.CreateDate) >= DbFunctions.TruncateTime(dateS) && // DbFunctions.TruncateTime(w.CreateDate) <= DbFunctions.TruncateTime(dateE) && //(checkCombo1 == 0 && checkCombo2 == 0 ? //(w.StoreFrontStock.Products.FKProductGroup > 0) : //(w.StoreFrontStock.Products.FKProductGroup >= checkCombo1 && //w.StoreFrontStock.Products.FKProductGroup <= checkCombo2))).ToList(); var listData = db.StoreFrontStockDetails.Where(w => w.Enable == true && fkProHd.Contains(w.StoreFrontStock.FKProduct) && DbFunctions.TruncateTime(w.CreateDate) >= DbFunctions.TruncateTime(dateS) && DbFunctions.TruncateTime(w.CreateDate) <= DbFunctions.TruncateTime(dateE) ).ToList(); var list1 = listData .GroupBy(g => new { g.StoreFrontStock.Products.ProductDetails.OrderBy(w => w.PackSize).FirstOrDefault().Code, g.StoreFrontStock.Products.ThaiName, g.StoreFrontStock.FKProduct, g.FKStoreFrontStock, g.FKTransactionType, UnitName = g.StoreFrontStock.Products.ProductDetails.Where(w => w.PackSize == 1).Select(ss => (ss.ProductUnit.Name == null ? "ไม่มี" : ss.ProductUnit.Name)).FirstOrDefault(), ยอดยกมา = 0, ยอดยกไป = 0, Price = 0 }) .Select(s => new { ProductId = s.Key.FKProduct, Product = s.Key.Code + " " + s.Key.ThaiName, FKS = s.Key.FKStoreFrontStock, Id = s.Key.FKTransactionType, s.Key.UnitName, s.Key.ยอดยกมา, s.Key.ยอดยกไป, ActionQty = (s.Sum(ss => ss.ActionQty) == null ? 0 : s.Sum(ss => ss.ActionQty)), s.Key.Price }).GroupBy(g => new { g.ProductId, g.Product, g.UnitName, g.ยอดยกมา, g.ยอดยกไป, g.Price, g.Id }) .Select(s => new { ProuctId = s.Key.ProductId, Product = s.Key.Product, UnitName = s.Key.UnitName, Summit = s.Key.ยอดยกมา, LiftUp = s.Key.ยอดยกไป, Price = s.Key.Price, Buy = (s.Key.Id == 19 ? s.Sum(m => m.ActionQty) : 0), SendVender = (s.Key.Id == 3 ? s.Sum(m => m.ActionQty) : 0), Sell = (s.Key.Id == 2 ? s.Sum(m => m.ActionQty) : 0), SellGive = (s.Key.Id == 11 ? s.Sum(m => m.ActionQty) : 0), Cn = (s.Key.Id == 4 || s.Key.Id == 22 ? s.Sum(m => m.ActionQty) : 0), CnGive = (s.Key.Id == 12 ? s.Sum(m => m.ActionQty) : 0), CnCancel = (s.Key.Id == 5 ? s.Sum(m => m.ActionQty) : 0), CnGiveCancel = (s.Key.Id == 17 ? s.Sum(m => m.ActionQty) : 0), Rcv = (s.Key.Id == 1 ? s.Sum(m => m.ActionQty) : 0), RcvPo = (s.Key.Id == 10 ? s.Sum(m => m.ActionQty) : 0), OutUse = (s.Key.Id == 14 ? s.Sum(m => m.ActionQty) : 0), Out = (s.Key.Id == 8 ? s.Sum(m => m.ActionQty) : 0), AdjustCost = (s.Key.Id == 20 ? s.Sum(m => m.ActionQty) : 0), Tran = (s.Key.Id == 9 ? s.Sum(m => m.ActionQty) : 0) }).GroupBy(g => new { g.ProuctId, g.Product, g.UnitName, g.Summit, g.LiftUp, g.Price }) .Select(s => new { ProuctId = s.Key.ProuctId, Product = s.Key.Product, UnitName = s.Key.UnitName, Summit = s.Key.Summit, LiftUp = s.Key.LiftUp, Price = s.Key.Price, Buy = s.Sum(ss => ss.Buy), SendVender = s.Sum(ss => ss.SendVender), Sell = s.Sum(ss => ss.Sell), SellGive = s.Sum(ss => ss.SellGive), Cn = s.Sum(ss => ss.Cn), CnGive = s.Sum(ss => ss.CnGive), CnCancel = s.Sum(ss => ss.CnCancel), CnGiveCancel = s.Sum(ss => ss.CnGiveCancel), Rcv = s.Sum(ss => ss.Rcv), RcvPo = s.Sum(ss => ss.RcvPo), OutUse = s.Sum(ss => ss.OutUse), Out = s.Sum(ss => ss.Out), AdjustCost = s.Sum(ss => ss.AdjustCost), Tran = s.Sum(ss => ss.Tran) }).ToList(); List <TransValue> ls = new List <TransValue>(); int i = 0; int countListpg = list1.Count(); progressBar1.Minimum = 0; progressBar1.Maximum = countListpg; foreach (var item in list1) { i++; TransValue c = new TransValue(); c.ProuctId = item.ProuctId.ToString(); c.Product = item.Product.ToString(); c.UnitName = item.UnitName; c.Summit = GetResult(item.ProuctId, dateS); c.LiftUp = GetBalance(item.ProuctId, dateS, dateE); c.Price = Library.GetAverage(item.ProuctId); c.Buy = item.Buy; c.SendVender = item.SendVender; c.Sell = item.Sell; c.SellGive = item.SellGive; c.Cn = item.Cn; c.CnCancel = item.CnCancel; c.CnGiveCancel = item.CnGiveCancel; c.Rcv = item.Rcv; c.RcvPo = item.RcvPo; c.OutUse = item.OutUse; c.Out = item.Out; c.AdjustCost = item.AdjustCost; c.Tran = item.Tran; ls.Add(c); progressBar1.Value = i; progressBar1.Refresh(); } if (list1.Count > 0) { string User, WhereDate, WhereProduct, WhereGroupP; //User = Singleton.SingletonAuthen.Instance().Name; User = Singleton.SingletonAuthen.Instance().Name; WhereDate = Library.ConvertDateToThaiDate(dateS) + " ถึง " + Library.ConvertDateToThaiDate(dateE); WhereProduct = (textBox1.Text == "" ? "ค้นหา รหัส Barcode สินค้าทั้งหมด" : "ค้นหา รหัส Barcode สินค้า : " + textBox1.Text + " ถึง " + textBox2.Text); WhereGroupP = (comboBox1.Text == "ทั้งหมด" ? "ค้นหา หมวดสินค้าทั้งหมด" : "ค้นหา หมวดสินค้า : " + comboBox1.Text + " ถึง " + comboBox2.Text); DataTable dt = CodeFileDLL.ConvertToDataTable(ls); frmMainReport frm = new frmMainReport(this, dt, User, WhereDate, WhereProduct, WhereGroupP); Cursor.Current = Cursors.Default; frm.Show(); } else { Cursor.Current = Cursors.Default; MessageBox.Show("ไม่พบข้อมูล"); } } }
private void SaveCommit() { try { CNWarehouse cnw = new CNWarehouse(); cnw.Code = textBoxCode.Text; cnw.Enable = true; cnw.Description = textBoxDesc.Text; cnw.CreateDate = DateTime.Now; cnw.CreateBy = Singleton.SingletonAuthen.Instance().Id; cnw.UpdateDate = DateTime.Now; cnw.UpdateBy = Singleton.SingletonAuthen.Instance().Id; cnw.FKWasteReason = _WasteReason; decimal qtyPiece = 0; List <CNWarehouseDetails> details = new List <CNWarehouseDetails>(); CNWarehouseDetails detail; for (int i = 0; i < dataGridView1.Rows.Count; i++) { detail = new CNWarehouseDetails(); detail.Enable = true; detail.Description = dataGridView1.Rows[i].Cells[colDescription].Value.ToString(); detail.CreateDate = DateTime.Now; detail.CreateBy = Singleton.SingletonAuthen.Instance().Id; detail.UpdateDate = DateTime.Now; detail.UpdateBy = Singleton.SingletonAuthen.Instance().Id; detail.FKProductDetails = int.Parse(dataGridView1.Rows[i].Cells[colId].Value.ToString()); detail.Qty = decimal.Parse(dataGridView1.Rows[i].Cells[colQtyCN].Value.ToString()); if (detail.Qty < 1) { continue; } qtyPiece += decimal.Parse(dataGridView1.Rows[i].Cells[colQtyCN].Value.ToString()) * decimal.Parse(dataGridView1.Rows[i].Cells[colPZ].Value.ToString()); detail.PricePerUnit = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()); detail.BeforeVat = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()) * detail.Qty; detail.Vat = ((detail.BeforeVat * detail.Qty) * MyConstant.MyVat.Vat) / 100; detail.TotalPrice = detail.BeforeVat + detail.Vat; details.Add(detail); //if (i >= dataGridView1.Rows.Count - 2) break; } cnw.FKVendor = _VendorId; cnw.DocDate = DateTime.Now; cnw.DocRefer = textBoxDocRefer.Text; cnw.TotalQty = qtyPiece; cnw.TotalQtyUnit = decimal.Parse(textBoxQtyUnit.Text); cnw.TotalUnVat = decimal.Parse(textBoxTotalUnVat.Text); cnw.TotalBeforeVat = decimal.Parse(textBoxTotalBeforeVat.Text); cnw.TotalVat = decimal.Parse(textBoxTotalVat.Text); cnw.TotalBalance = cnw.TotalUnVat + cnw.TotalBeforeVat; cnw.CNWarehouseDetails = details; using (SSLsEntities db = new SSLsEntities()) { db.CNWarehouse.Add(cnw); db.SaveChanges(); // ManageStock Wms //Library.MakeValueForUpdateStockWms(details); MessageBox.Show("บันทึกเรียบร้อย " + cnw.Code); // Add To Details ก่อน // WasteWarehouse ห้องของเสียจัดเก็บ // WasteWarehouseDetails foreach (var item in details) { WasteWarehouseDetails dtl = new WasteWarehouseDetails(); dtl.ConfirmCNBy = null; dtl.ConfirmCNDate = null; var getProdDtl = Singleton.SingletonProduct.Instance().ProductDetails.SingleOrDefault(w => w.Id == item.FKProductDetails); dtl.CostOnly = getProdDtl.CostOnly; dtl.CreateBy = item.CreateBy; dtl.CreateDate = DateTime.Now; dtl.Description = "ส่งคืนห้องของเสีย ให้ผู้จำหน่าย"; dtl.DocReference = cnw.Code; dtl.Enable = true; dtl.FKProductDetails = item.FKProductDetails; var lastTrans = db.WasteWarehouseDetails.Where(w => w.FKProductDetails == item.FKProductDetails && w.Enable == true) .OrderByDescending(w => w.CreateDate).FirstOrDefault(); dtl.FKWasteWarehouse = lastTrans.FKWasteWarehouse; dtl.IsInOrOut = false; dtl.LastResultPiece = 0; dtl.LastResultUnit = 0; dtl.Packsize = getProdDtl.PackSize; dtl.QtyPiece = item.Qty * dtl.Packsize; dtl.QtyUnit = item.Qty; dtl.SellPrice = getProdDtl.SellPrice; dtl.UpdateBy = item.CreateBy; dtl.UpdateDate = DateTime.Now; db.WasteWarehouseDetails.Add(dtl); db.SaveChanges(); // Update HD var wasteWarehouseHD = db.WasteWarehouse.SingleOrDefault(w => w.Id == lastTrans.FKWasteWarehouse); wasteWarehouseHD.QtyPiece = wasteWarehouseHD.QtyPiece - dtl.QtyPiece; wasteWarehouseHD.QtyUnit = wasteWarehouseHD.QtyUnit - dtl.QtyUnit; db.Entry(wasteWarehouseHD).State = EntityState.Modified; db.SaveChanges(); } } // Update ห้องของเสีย //Library.AddWasteWarehouse(details, cnw.Code); // Open Paper WasteCN //PaperCNWasteViewer obj = new PaperCNWasteViewer(this, cnw.Code); //obj.ShowDialog(); frmMainReport mr = new frmMainReport(this, cnw.Code); mr.Show(); ResetForm(); } catch (Exception) { MessageBox.Show("พบข้อมผิดพลาด"); } }
/// <summary> /// ออกรายงานเป็น Paper /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click_1(object sender, EventArgs e) { try { var dt = Library.ConvertToDataTable(lsReport. Select(s => new { TotalMale = textBoxMale.Text == "" || textBoxMale.Text == null ? "0" : textBoxMale.Text, TotalFemale = textBoxFemale.Text == "" || textBoxFemale.Text == null ? "0" : textBoxFemale.Text, TotalgetFromBeforeBudget = textBoxTotalFromBefore.Text == "" || textBoxTotalFromBefore.Text == null ? "0" : textBoxTotalFromBefore.Text, TotalgetAddThisYear = textBoxTotalAddThisYear.Text == "" || textBoxTotalAddThisYear.Text == null ? "0" : textBoxTotalAddThisYear.Text, TotalMemberShare = textBoxTotalBalance.Text == "" || textBoxTotalBalance.Text == null ? "0" : textBoxTotalBalance.Text, TotalremoveValue = textBoxTotalResign.Text == "" || textBoxTotalResign.Text == null ? "0" : textBoxTotalResign.Text, Number = s.Number, Group = s.Group, Code = s.Code, Name = s.Name, Sex = s.Sex, getFromBeforeBudget = s.getFromBeforeBudget, getAddThisYear = s.getAddThisYear, removeValue = s.removeValue, removeDate = s.removeDate, MemberShare = s.MemberShare, TotalList = TotalList }).ToList()); frmMainReport mr = new frmMainReport(this, dt); mr.Show(); } catch (Exception) { MessageBox.Show("จำนวนเอกสารผิดพลาด"); } //int row = 45; //int number = 1; //List<MemberReportPaper> objs = new List<MemberReportPaper>(); //int countMale = 0; //int countFemale = 0; //int totalMale = 0; //int totalFemale = 0; //decimal sumAfterYear = 0; //decimal sumAddPoint = 0; //for (int i = 0; i < dataGridView1.Rows.Count; i++) //{ // objs.Add(new MemberReportPaper() // { // Number = (i + 1) + "", // Code = dataGridView1.Rows[i].Cells[colCode].Value.ToString(), // Name = dataGridView1.Rows[i].Cells[colName].Value.ToString(), // Sex = dataGridView1.Rows[i].Cells[colSex].Value.ToString(), // GetAfterYear = dataGridView1.Rows[i].Cells[colGetAfterYear].Value.ToString(), // AddPoint = dataGridView1.Rows[i].Cells[colAddPoint].Value.ToString(), // Resign = dataGridView1.Rows[i].Cells[colResign].Value.ToString(), // ResignDate = dataGridView1.Rows[i].Cells[colResignDate].Value.ToString(), // Total = dataGridView1.Rows[i].Cells[colTotal].Value.ToString(), // }); // if (dataGridView1.Rows[i].Cells[colSex].Value.ToString() == "ชาย") // { // countMale++; // } // else // { // countFemale++; // } // sumAfterYear += decimal.Parse(dataGridView1.Rows[i].Cells[colGetAfterYear].Value.ToString()); // sumAddPoint += decimal.Parse(dataGridView1.Rows[i].Cells[colAddPoint].Value.ToString()); // if (number == row) // { // totalMale = totalMale + countMale; // totalFemale = totalMale + countFemale; // number = 1; // // add summary // objs.Add(new MemberReportPaper() // { // Number = "----", // Code = "รวม", // Name = "หญิง = " + countFemale + " ชาย = " + countFemale, // Sex = "-", // GetAfterYear = Library.ConvertDecimalToStringForm(sumAfterYear), // AddPoint = Library.ConvertDecimalToStringForm(sumAddPoint), // Resign = dataGridView1.Rows[i].Cells[colResign].Value.ToString(), // ResignDate = "-----------", // Total = dataGridView1.Rows[i].Cells[colTotal].Value.ToString(), // }); // } // number++; //} }
/// <summary> /// แบบมีมูลค่า /// </summary> public void BindingInOutValue() { //try //{ Cursor.Current = Cursors.WaitCursor; var time_S = dateTimePicker_S.Value; var time_E = dateTimePicker_E.Value; string dateStart = time_S.ToString("yyyyMMdd"); List <InOutValue> lsGetResult = new List <InOutValue>(); using (SSLsEntities db = new SSLsEntities()) { List <int> fkPro = new List <int>(); if (checkBoxProduct.Checked == true) { // ถ้าเลือกทั้งหมด fkPro = Library.GetAllProDtlId("", ""); } else { fkPro = Library.GetAllProDtlId(txt_p_S.Text.Trim(), txt_p_E.Text.Trim()); } var getOnView = db.View_GetFrontStockByProductDate.Where(w => DbFunctions.TruncateTime(w.CreateDate) >= DbFunctions.TruncateTime(time_S) && DbFunctions.TruncateTime(w.CreateDate) <= DbFunctions.TruncateTime(time_E)).OrderBy(w => w.CreateDate).ToList(); var getForProduct = getOnView.Where(w => fkPro.Contains(w.FKProduct)).OrderBy(w => w.FKProduct).ToList(); List <C_ProductRawInOut> stackDetails = new List <C_ProductRawInOut>(); int countListpg = fkPro.Count(); progressBar1.Minimum = 0; progressBar1.Maximum = countListpg; int i = 0; DateTime startPro = DateTime.Now; var aa = Library.GetQueryยอดยกมา(dateStart, "0", "999999999999999"); foreach (var item in fkPro) { List <View_GetFrontStockByProductDate> dataGet = getForProduct.Where(w => w.FKProduct == item).OrderBy(w => w.CreateDate).ToList(); decimal movementAvg = 0; decimal balance = 0; i++; if (dataGet.Count == 0) { progressBar1.Value = i; progressBar1.Refresh(); Console.WriteLine("******* " + fkPro.Count + " " + item + " " + i + " " + getForProduct.Count()); continue; } //decimal resultForProHD = Library.GetResult(item, time_S); decimal resultForProHD = decimal.Parse(aa.SingleOrDefault(w => w.FKProduct == item).qty); movementAvg = Library.GetAverage(item); lsGetResult.Add(new InOutValue() // ยอดยกมา { CreateDate = "", DocNo = "ยอดยกมา", DocDtlNumber = "", ProductName = "", Pz = "", InQty = "", InCost = "", InValue = "", OutQty = "", OutCost = "", OutValue = "", BalQty = Library.ConvertDecimalToStringForm(resultForProHD), BalCost = Library.ConvertDecimalToStringForm(movementAvg), BalValue = Library.ConvertDecimalToStringForm(movementAvg * resultForProHD), DocDesc = "ยกมาจาก " + Library.ConvertDateToThaiDate(time_S) }); balance = movementAvg * resultForProHD; decimal sumPlus = 0; decimal sumMinus = 0; decimal sumTotalInCost = 0; decimal sumTotalOutCost = 0; foreach (var trans in dataGet.OrderBy(w => w.Barcode).ToList()) // transactions { decimal plus = 0; decimal minus = 0; sumTotalInCost = 0; sumTotalOutCost = 0; if (trans.IsPlus == true) { plus = trans.ActionQty; resultForProHD = resultForProHD + plus; // bal value in 1 transation //movementAvg = trans.CostOnlyPerUnit; sumTotalInCost = movementAvg * plus; balance = balance + sumTotalInCost; } else { minus = trans.ActionQty; resultForProHD = resultForProHD - minus; // bal value in 1 transation sumTotalOutCost = movementAvg * minus; // มูลค่าจ่าย balance = balance - sumTotalOutCost; } sumPlus += plus; sumMinus += minus; //balance = movementAvg * resultForProHD; ///////// use movement average lsGetResult.Add(new InOutValue() { CreateDate = Library.ConvertDateToThaiDate(trans.CreateDate, true), DocNo = trans.DocNo, DocDtlNumber = trans.DocDtlNumber + "", ProductName = trans.Code + " " + trans.ThaiName + " " + trans.Unit + "x" + ((int)trans.PackSize), Pz = ((int)trans.PackSize) + "", InQty = Library.ConvertDecimalToStringForm(plus), InCost = Library.ConvertDecimalToStringForm(movementAvg), InValue = Library.ConvertDecimalToStringForm(plus * movementAvg), OutQty = Library.ConvertDecimalToStringForm(minus), OutCost = Library.ConvertDecimalToStringForm(movementAvg), OutValue = Library.ConvertDecimalToStringForm(minus * movementAvg), BalQty = Library.ConvertDecimalToStringForm(resultForProHD), BalCost = Library.ConvertDecimalToStringForm(movementAvg), BalValue = Library.ConvertDecimalToStringForm(balance), DocDesc = trans.TransName, FKTrans = trans.FKTransactionType }); /////////////////// old logic //lsGetResult.Add(new InOutValue() //{ // CreateDate = Library.ConvertDateToThaiDate(trans.CreateDate, true), // DocNo = trans.DocNo, // DocDtlNumber = trans.DocDtlNumber + "", // ProductName = trans.ProductDetails.Code + " " + trans.ProductDetails.Products.ThaiName + " " + trans.ProductDetails.ProductUnit.Name + "x" + ((int)trans.PackSize), // Pz = ((int)trans.PackSize) + "", // InQty = Library.ConvertDecimalToStringForm(plus), // InCost = Library.ConvertDecimalToStringForm(trans.CostOnlyPerUnit), // InValue = Library.ConvertDecimalToStringForm((trans.CostOnlyPerUnit / trans.PackSize) * plus), // OutQty = Library.ConvertDecimalToStringForm(minus), // OutCost = Library.ConvertDecimalToStringForm(trans.CostOnlyPerUnit), // OutValue = Library.ConvertDecimalToStringForm((trans.CostOnlyPerUnit / trans.PackSize) * minus), // BalQty = Library.ConvertDecimalToStringForm(resultForProHD), // BalCost = Library.ConvertDecimalToStringForm(Library.GetAverage(item)), // BalValue = Library.ConvertDecimalToStringForm(Library.GetAverage(item) * resultForProHD), // DocDesc = trans.TransactionType.Name, // FKTrans = trans.FKTransactionType //}); sumTotalInCost += trans.CostOnlyPerUnit * plus; sumTotalOutCost += trans.CostOnlyPerUnit * minus; getForProduct.Remove(trans); } lsGetResult.Add(new InOutValue() // ยอดยกไป { CreateDate = "", DocNo = "ยอดยกไป", DocDtlNumber = "", ProductName = "", Pz = "", InQty = "", InCost = "", InValue = "", OutQty = "", OutCost = "", OutValue = "", BalQty = Library.ConvertDecimalToStringForm(resultForProHD), BalCost = Library.ConvertDecimalToStringForm(Library.GetAverage(item)), BalValue = Library.ConvertDecimalToStringForm(Library.GetAverage(item) * resultForProHD), DocDesc = "ยกไป " + Library.ConvertDateToThaiDate(time_E) }); lsGetResult.Add(new InOutValue() // ยอดยกไป { CreateDate = "", DocNo = "", DocDtlNumber = "", ProductName = "", Pz = "", InQty = "", InCost = "", InValue = "", OutQty = "", OutCost = "", OutValue = "", BalQty = "", BalCost = "", BalValue = "", DocDesc = "", }); progressBar1.Value = i; progressBar1.Refresh(); Console.WriteLine("******* " + fkPro.Count + " " + item + " " + i + " " + getForProduct.Count()); } Console.WriteLine(startPro + " " + DateTime.Now); //foreach (var item in fkPro) //{ // decimal movementAvg = 0; // decimal balance = 0; // i++; // List<StoreFrontStockDetails> details = db.StoreFrontStockDetails // .Where(w => w.StoreFrontStock.FKProduct == item && w.StoreFrontStock.Enable == true && w.Enable == true && // DbFunctions.TruncateTime(w.CreateDate) >= DbFunctions.TruncateTime(time_S) && // DbFunctions.TruncateTime(w.CreateDate) <= DbFunctions.TruncateTime(time_E) // ).OrderBy(w => w.CreateDate).ToList(); // if (details.Count == 0) // { // progressBar1.Value = i; // progressBar1.Refresh(); // continue; // } // decimal resultForProHD = Library.GetResult(item, time_S); // movementAvg = Library.GetAverage(item); // lsGetResult.Add(new InOutValue() // ยอดยกมา // { // CreateDate = "", // DocNo = "ยอดยกมา", // DocDtlNumber = "", // ProductName = "", // Pz = "", // InQty = "", // InCost = "", // InValue = "", // OutQty = "", // OutCost = "", // OutValue = "", // BalQty = Library.ConvertDecimalToStringForm(resultForProHD), // BalCost = Library.ConvertDecimalToStringForm(movementAvg), // BalValue = Library.ConvertDecimalToStringForm(movementAvg * resultForProHD), // DocDesc = "ยกมาจาก " + Library.ConvertDateToThaiDate(time_S) // }); // balance = movementAvg * resultForProHD; // decimal sumPlus = 0; // decimal sumMinus = 0; // decimal sumTotalInCost = 0; // decimal sumTotalOutCost = 0; // foreach (var trans in details.OrderBy(w => w.Barcode).ToList()) // transactions // { // decimal plus = 0; // decimal minus = 0; // sumTotalInCost = 0; // sumTotalOutCost = 0; // if (trans.TransactionType.IsPlus == true) // { // plus = trans.ActionQty; // resultForProHD = resultForProHD + plus; // // bal value in 1 transation // movementAvg = trans.CostOnlyPerUnit; // sumTotalInCost = movementAvg * plus; // balance = balance + sumTotalInCost; // } // else // { // minus = trans.ActionQty; // resultForProHD = resultForProHD - minus; // // bal value in 1 transation // sumTotalOutCost = movementAvg * minus; // มูลค่าจ่าย // balance = balance - sumTotalOutCost; // } // sumPlus += plus; // sumMinus += minus; // //balance = movementAvg * resultForProHD; // ///////// use movement average // lsGetResult.Add(new InOutValue() // { // CreateDate = Library.ConvertDateToThaiDate(trans.CreateDate, true), // DocNo = trans.DocNo, // DocDtlNumber = trans.DocDtlNumber + "", // ProductName = trans.ProductDetails.Code + " " + trans.ProductDetails.Products.ThaiName + " " + trans.ProductDetails.ProductUnit.Name + "x" + ((int)trans.PackSize), // Pz = ((int)trans.PackSize) + "", // InQty = Library.ConvertDecimalToStringForm(plus), // InCost = Library.ConvertDecimalToStringForm(movementAvg), // InValue = Library.ConvertDecimalToStringForm(plus * movementAvg), // OutQty = Library.ConvertDecimalToStringForm(minus), // OutCost = Library.ConvertDecimalToStringForm(movementAvg), // OutValue = Library.ConvertDecimalToStringForm(minus * movementAvg), // BalQty = Library.ConvertDecimalToStringForm(resultForProHD), // BalCost = Library.ConvertDecimalToStringForm(movementAvg), // BalValue = Library.ConvertDecimalToStringForm(balance), // DocDesc = trans.TransactionType.Name, // FKTrans = trans.FKTransactionType // }); // /////////////////// old logic // //lsGetResult.Add(new InOutValue() // //{ // // CreateDate = Library.ConvertDateToThaiDate(trans.CreateDate, true), // // DocNo = trans.DocNo, // // DocDtlNumber = trans.DocDtlNumber + "", // // ProductName = trans.ProductDetails.Code + " " + trans.ProductDetails.Products.ThaiName + " " + trans.ProductDetails.ProductUnit.Name + "x" + ((int)trans.PackSize), // // Pz = ((int)trans.PackSize) + "", // // InQty = Library.ConvertDecimalToStringForm(plus), // // InCost = Library.ConvertDecimalToStringForm(trans.CostOnlyPerUnit), // // InValue = Library.ConvertDecimalToStringForm((trans.CostOnlyPerUnit / trans.PackSize) * plus), // // OutQty = Library.ConvertDecimalToStringForm(minus), // // OutCost = Library.ConvertDecimalToStringForm(trans.CostOnlyPerUnit), // // OutValue = Library.ConvertDecimalToStringForm((trans.CostOnlyPerUnit / trans.PackSize) * minus), // // BalQty = Library.ConvertDecimalToStringForm(resultForProHD), // // BalCost = Library.ConvertDecimalToStringForm(Library.GetAverage(item)), // // BalValue = Library.ConvertDecimalToStringForm(Library.GetAverage(item) * resultForProHD), // // DocDesc = trans.TransactionType.Name, // // FKTrans = trans.FKTransactionType // //}); // sumTotalInCost += trans.CostOnlyPerUnit * plus; // sumTotalOutCost += trans.CostOnlyPerUnit * minus; // } // lsGetResult.Add(new InOutValue() // ยอดยกไป // { // CreateDate = "", // DocNo = "ยอดยกไป", // DocDtlNumber = "", // ProductName = "", // Pz = "", // InQty = "", // InCost = "", // InValue = "", // OutQty = "", // OutCost = "", // OutValue = "", // BalQty = Library.ConvertDecimalToStringForm(resultForProHD), // BalCost = Library.ConvertDecimalToStringForm(Library.GetAverage(item)), // BalValue = Library.ConvertDecimalToStringForm(Library.GetAverage(item) * resultForProHD), // DocDesc = "ยกไป " + Library.ConvertDateToThaiDate(time_E) // }); // lsGetResult.Add(new InOutValue() // ยอดยกไป // { // CreateDate = "", // DocNo = "", // DocDtlNumber = "", // ProductName = "", // Pz = "", // InQty = "", // InCost = "", // InValue = "", // OutQty = "", // OutCost = "", // OutValue = "", // BalQty = "", // BalCost = "", // BalValue = "", // DocDesc = "", // }); // progressBar1.Value = i; // progressBar1.Refresh(); //} var countList = lsGetResult.Where(w => w.DocNo != "ยอดยกมา" && w.DocNo != "สรุปรวม").Count(); dataGridView1.DataSource = lsGetResult; dataGridView1.Refresh(); var dt = Library.ConvertToDataTable(lsGetResult.Select(s => new { CreateDate = s.CreateDate, DocNo = s.DocNo == "ยอดยกมา" || s.DocNo == "สรุปรวม" ? s.DocNo : s.DocNo + "- " + s.DocDtlNumber, DocName = s.DocNo == "ยอดยกมา" || s.DocNo == "สรุปรวม" ? "" : s.ProductName, InQty = s.InQty == "0.00" ? "" : s.InQty, InCost = s.InQty == "0.00" ? "" : s.InCost, InValue = s.InQty == "0.00" ? "" : s.InValue, OutQty = s.OutQty == "0.00" ? "" : s.OutQty, OutCost = s.OutQty == "0.00" ? "" : s.OutCost, OutValue = s.OutQty == "0.00" ? "" : s.OutValue, BalQty = s.BalQty == "0.00" ? "" : s.BalQty, BalCost = s.BalQty == "0.00" ? "" : s.BalCost, BalValue = s.BalQty == "0.00" ? "" : s.BalValue, ReferDoc = s.FKTrans == MyConstant.PosTransaction.Selling ? "" : s.DocDesc, countList = countList, Date_S = Library.ConvertDateToThaiDate(time_S), Date_E = Library.ConvertDateToThaiDate(time_E), Product_S = txt_p_S.Text == "" || txt_p_S.Text == null ? "ทั้งหมด" : txt_p_S.Text, Product_E = txt_p_E.Text == "" || txt_p_E.Text == null ? "ทั้งหมด" : txt_p_E.Text, }).ToList()); lb_msg.Text = "ระบบประมวลผลสำเร็จ"; this.Refresh(); Cursor.Current = Cursors.Default; frmMainReport mr = new frmMainReport(this, dt, true); mr.Show(); } //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message, "แจ้งเตือนจากระบบ!!", MessageBoxButtons.OK, MessageBoxIcon.Error); //} }
void bildingDataCostAndSellPrice(string Code_S, string Code_E) { //try //{ DateTime dateS = dateTimePicker_S.Value; var aaa = comboBox_S.Text; Cursor.Current = Cursors.WaitCursor; int i = 0; List <LefClass> lssfs = new List <LefClass>(); using (SSLsEntities db = new SSLsEntities()) { int pid_S; int pid_E; int comBo_S = int.Parse(comboBox_S.SelectedValue.ToString()); int comBo_E = int.Parse(comboBox_E.SelectedValue.ToString()); List <int> fkPro = new List <int>(); if (checkBoxProduct.Checked == true) { // เลือกทั้งหมด pid_S = 0; pid_E = 0; fkPro = db.StoreFrontStock.Where(w => w.Enable == true).Select(w => w.FKProduct).Distinct().ToList(); } else { pid_S = getIdProduct_S(Code_S); pid_E = getIdProduct_E(Code_E); fkPro = Library.GetAllProDtlId(Code_S, Code_E); } List <StoreFrontStock> sfs = db.StoreFrontStock.Where(w => w.Enable == true && fkPro.Contains(w.FKProduct) && (comBo_S <= comBo_E ? // เงื่อนไขนี้เพื่อ บางครั้ง กลุ่มสินค้า ที่หามา id เริ่มต้นค้นหาน้อยกว่า ทำให้หาไม่เจอ เลยสับกัน ((comBo_S == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup >= comBo_S) && (comBo_E == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup <= comBo_E)) : ((comBo_E == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup >= comBo_E) && (comBo_S == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup <= comBo_S)))).ToList(); int countListpg = sfs.Count(); progressBar1.Minimum = 0; progressBar1.Maximum = countListpg; var dateString = dateS.AddDays(1).ToString("yyyyMMdd"); //var aa = db.fn_GetResultDate(dateString, "0", "999999999999999").ToList(); var aa = Library.GetQueryยอดยกมา(dateString, "0", "999999999999999"); foreach (var item in sfs) { i++; LefClass c = new LefClass(); c.WareHouse = "หน้าร้าน"; if (item.Products.Enable == false) { progressBar1.Value = i; progressBar1.Refresh(); continue; } if (item.Products.ProductDetails.OrderBy(od => od.PackSize).FirstOrDefault() == null) { progressBar1.Value = i; progressBar1.Refresh(); continue; } c.ProductBarCode = item.Products.ProductDetails.OrderBy(od => od.PackSize).FirstOrDefault().Code; c.ProductCode = item.Products.Code; c.ProductName = item.Products.ThaiName; //c.CurrentQty = Library.GetResult(item.FKProduct, dateS.AddDays(1)); var getProd = aa.SingleOrDefault(w => w.FKProduct == item.FKProduct); if (getProd == null) { progressBar1.Value = i; progressBar1.Refresh(); continue; } c.CurrentQty = decimal.Parse(getProd.qty); c.Unit = item.Products.ProductDetails.OrderBy(od => od.PackSize).Select(ss => (ss.ProductUnit.Name == null ? "ไม่มี" : ss.ProductUnit.Name)).FirstOrDefault(); c.CurrUnit = Library.ConvertDecimalToStringForm(c.CurrentQty) + " " + c.Unit; //c.Price = Library.GetAverage(item.FKProduct); c.Price = decimal.Parse(getProd.Cost); c.ResidualValue = c.CurrentQty * c.Price; c.FKProduct = item.Products.Id; c.SellPricePerUnit = Library.ConvertDecimalToStringForm(Library.GetSellPriceOnly(item.FKProduct, dateS)); //c.SellPricePerUnit = "1"; c.SellPriceTotal = Library.ConvertDecimalToStringForm(decimal.Parse(c.SellPricePerUnit) * c.CurrentQty); lssfs.Add(c); progressBar1.Value = i; progressBar1.Refresh(); //if (item.FKProduct == 60018) //{ // break; //} } } var sumQty = lssfs.Sum(w => w.CurrentQty); var sumPrice = lssfs.Sum(w => w.Price); var sumResidualValue = lssfs.Sum(w => w.ResidualValue); var countList = lssfs.Count(); var sumTotal = lssfs.Sum(w => decimal.Parse(w.SellPriceTotal)); var bilding2Report = lssfs.Select(a => new { WareHouse = "หน้าร้าน", ProductCode = a.ProductBarCode, ProductName = a.ProductName, CurrentQty = a.CurrentQty, CurrUnit = a.CurrUnit, Unit = a.Unit, Price = a.Price, ResidualValue = a.ResidualValue, sumQty = sumQty, sumPrice = sumPrice, sumResidualValue = sumResidualValue, SellPricePerUnit = a.SellPricePerUnit, SellPriceTotal = a.SellPriceTotal, countList = countList, TimeNow = Library.ConvertDateToThaiDate(dateS), Product_S = Code_S == "" || Code_S == null ? "ทั้งหมด" : Code_S, Product_E = Code_E == "" || Code_E == null ? "ทั้งหมด" : Code_E, ProductGroup_S = comboBox_S.Text, ProductGroup_E = comboBox_E.Text, sumSellPriceTotal = sumTotal }).ToList(); var dt = Library.ConvertToDataTable(bilding2Report); frmMainReport mr = new frmMainReport(this, dt, MyConstant.TypeReport.LeftInStockVat); mr.Show(); lb_msg.Text = "ระบบประมวลผลสำเร็จ"; this.Refresh(); Cursor.Current = Cursors.Default; //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message, "แจ้งเตือนจากระบบ!!", MessageBoxButtons.OK, MessageBoxIcon.Error); // throw; //} }
// พิมพ์ใบเสร็จ yymmdd000001 private void button2_Click(object sender, EventArgs e) { using (SSLsEntities db = new SSLsEntities()) { string memberNo = nolabel.Text; var getMem = db.MemberChangeMoney25601.SingleOrDefault(w => w.หมายเลข == memberNo); decimal upcupon = 0; if (invlabel.Text == "-")// ยังไม่พิมพ์ { string userId = Singleton.SingletonAuthen.Instance().Id; int qtyReceipt = db.MemberChangeMoney25601.Where(w => w.PrintDate != null && w.PrintBy == userId).Count(); string running = (qtyReceipt + 1).ToString("D5"); string receiptno = "61"; getMem.PrintDate = DateTime.Now; getMem.PrintBy = Singleton.SingletonAuthen.Instance().Id; getMem.PrintNumber = 1; //ปี เช่น 61 //ประเภท ใบเสร็จ สด = 1 คูปอง = 2 //เดือน เช่น 03 //วัน เช่น 29 //รหัสพนักงาน เช่น 112 //ลำดับเฉพาะพนักงาน 0001 //ตัวอย่าง จ่ายสด 61 1 03 29 112 00001 //ตัวอย่าง จ่ายคูปอง 61 2 03 29 11 2 00002 if (radioButton1.Checked == true) { // สด getMem.GetType = 1; getMem.GetAmount = decimal.Parse(label10.Text); upcupon = 0; receiptno = receiptno + "1"; } else { // คูปอง getMem.GetType = 2; getMem.GetAmount = decimal.Parse(label11.Text); upcupon = decimal.Parse(dataGridView1.Rows[6].Cells[1].Value.ToString()); receiptno = receiptno + "2"; } receiptno = receiptno + "" + DateTime.Now.ToString("MMdd") + userId + running; getMem.ReceiptNo = receiptno; } else { DialogResult dr = MessageBox.Show("ใบเสร็จนี้พิมพ์ไปแล้ว คุณต้องการพิมพ์ซ้ำ ใช่หรือไม่ ?", "คำเตือนจากระบบ", MessageBoxButtons.YesNo); switch (dr) { case DialogResult.Yes: break; case DialogResult.No: return; } getMem.PrintNumber = getMem.PrintNumber + 1; } db.Entry(getMem).State = EntityState.Modified; db.SaveChanges(); // print MemberChange2560 receiptPaper = new MemberChange2560(); receiptPaper.No = getMem.ReceiptNo; receiptPaper.NameMember = getMem.__อ_สก_ล; receiptPaper.NoMemeber = getMem.หมายเลข; receiptPaper.Date = Library.ConvertDateToThaiDate(DateTime.Now, true); receiptPaper.User = Library.GetFullNameUserById(getMem.PrintBy); receiptPaper.PrintDate = Library.ConvertDateToThaiDate(getMem.PrintDate, true); receiptPaper.UserPrint = Library.GetFullNameUserById(Singleton.SingletonAuthen.Instance().Id); receiptPaper.BroughtForward = Library.ConvertDecimalToStringForm(decimal.Parse(dataGridView1.Rows[0].Cells[1].Value.ToString())); receiptPaper.Current = Library.ConvertDecimalToStringForm(decimal.Parse(dataGridView1.Rows[1].Cells[1].Value.ToString())); receiptPaper.BetweenYear = Library.ConvertDecimalToStringForm(decimal.Parse(dataGridView1.Rows[2].Cells[1].Value.ToString())); receiptPaper.AverageBroughtForward = Library.ConvertDecimalToStringForm(decimal.Parse(dataGridView1.Rows[3].Cells[1].Value.ToString())); receiptPaper.AverageCurrent = Library.ConvertDecimalToStringForm(decimal.Parse(dataGridView1.Rows[4].Cells[1].Value.ToString())); receiptPaper.AverageCoupon = Library.ConvertDecimalToStringForm(decimal.Parse(dataGridView1.Rows[5].Cells[1].Value.ToString())); receiptPaper.UpCoupon = Library.ConvertDecimalToStringForm(upcupon); if (getMem.GetType == 1) { receiptPaper.NameAverageCoupon = "เฉลี่ยคืนเป็น เงินสด"; receiptPaper.RecipientCoupon = "ผู้รับเงินสด"; } else { receiptPaper.NameAverageCoupon = "เฉลี่ยคืนเป็น คูปอง"; receiptPaper.RecipientCoupon = "ผู้รับคูปอง"; } receiptPaper.TotalAmount = Library.ConvertDecimalToStringForm(getMem.GetAmount); List <MemberChange2560> dividends = new List <MemberChange2560>(); dividends.Add(receiptPaper); frmMainReport mr = new frmMainReport(this, dividends); mr.Show(); } }
void bildingData(string Code_S, string Code_E) { //try //{ var dateRun = DateTime.Now; DateTime dateS = dateTimePicker_S.Value; var aaa = comboBox_S.Text; Cursor.Current = Cursors.WaitCursor; int i = 0; List <LefClass> lssfs = new List <LefClass>(); using (SSLsEntities db = new SSLsEntities()) { int comBo_S = int.Parse(comboBox_S.SelectedValue.ToString()); int comBo_E = int.Parse(comboBox_E.SelectedValue.ToString()); //List<int> fkPro = Library.GetAllProDtlId(Code_S, Code_E); //IQueryable<fn_GetResultDate_Result4> getVal; if (checkBoxProduct.Checked == true) { // เลือกทั้งหมด //fkPro = db.StoreFrontStock.Where(w => w.Enable == true).Select(w => w.FKProduct).Distinct().ToList(); Code_S = "0"; Code_E = "999999999999999"; } else { Code_S = txt_p_S.Text.Trim(); Code_E = txt_p_E.Text.Trim(); //pid_S = getIdProduct_S(Code_S); //pid_E = getIdProduct_E(Code_E); } //List<StoreFrontStock> sfs = new List<StoreFrontStock>(); //sfs = db.StoreFrontStock.Where(w => w.Enable == true && fkPro.Contains(w.FKProduct)).ToList(); //List<StoreFrontStock> sfs = db.StoreFrontStock.Where(w => w.Enable == true && fkPro.Contains(w.FKProduct) && //(comBo_S <= comBo_E ? // เงื่อนไขนี้เพื่อ บางครั้ง กลุ่มสินค้า ที่หามา id เริ่มต้นค้นหาน้อยกว่า ทำให้หาไม่เจอ เลยสับกัน //((comBo_S == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup >= comBo_S) && (comBo_E == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup <= comBo_E)) : //((comBo_E == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup >= comBo_E) && (comBo_S == 0 ? w.Products.FKProductGroup > 0 : w.Products.FKProductGroup <= comBo_S)))).ToList(); var dateString = dateS.AddDays(1).ToString("yyyyMMdd"); //var aa = db.fn_GetResultDate(dateString, Code_S, Code_E).ToList(); var aa = Library.GetQueryยอดยกมา(dateString, Code_S, Code_E).ToList(); int countListpg = aa.Count(); progressBar1.Minimum = 0; progressBar1.Maximum = countListpg; LefClass c; //List<fn_GetResultDate> getValueResult = new List<fn_GetResultDate>(); var checkFront = db.View_CheckFront_01_11_17.ToList(); //var getVal = ggr.Select(s => new { s.Id, s.ThaiName, s.qty, s.Cost }).ToList(); foreach (var item in aa) { i++; c = new LefClass(); try { //var getFirst = item.Products.ProductDetails.OrderBy(od => od.PackSize).FirstOrDefault(); c.WareHouse = "หน้าร้าน"; c.ProductBarCode = item.Code; c.ProductCode = item.Code; c.ProductName = item.Thainame; //if (item.Cost == 0) //{ // //c.Price = Singleton.SingletonProduct.Instance().ProductDetails.Where(w => w.FKProduct == item.Id).OrderBy(w => w.PackSize).FirstOrDefault().CostOnly; // c.Price = item.Cost; //} //else //{ // c.Price = (decimal)item.Cost; //} c.Price = decimal.Parse(item.Cost); c.CurrentQty = decimal.Parse(item.qty); c.Unit = item.Unit; //c.Unit = Singleton.SingletonProduct.Instance().ProductDetails.Where(w => w.FKProduct == item.Id).OrderBy(w => w.PackSize).FirstOrDefault().ProductUnit.Name; ////c.CurrentQty = Library.GetResult(item.FKProduct, dateS.AddDays(1)); //var getr = getVal.FirstOrDefault(w => w.Id == item.FKProduct); //getVal.Remove(getr); //decimal res = 0; //if (getr == null) //{ // res = 0; // c.Price = getFirst.CostOnly; //} //else //{ // res = (decimal)getr.qty; // if (getr.Cost == 0) // { // c.Price = getFirst.CostOnly; // } // else // { // c.Price = getr.Cost; // } //} //c.CurrentQty = res; //c.Unit = getFirst.ProductUnit.Name; //c.CurrUnit = Library.ConvertDecimalToStringForm(c.CurrentQty) + " " + c.Unit; c.CurrUnit = Library.ConvertDecimalToStringForm(c.CurrentQty) + " " + c.Unit; ////c.Price = Library.GetAverage(item.FKProduct); c.ResidualValue = c.CurrentQty * c.Price; c.FKProduct = (int)item.FKProduct; c.SellPricePerUnit = "0"; c.SellPriceTotal = "0"; var checkDoc = checkFront.Where(w => w.FKProduct == item.FKProduct).ToList(); string docStr = ""; foreach (var doc in checkDoc) { docStr = doc.DocNo + " (" + doc.Number + ") " + docStr; } c.Description = docStr; lssfs.Add(c); } catch (Exception) { Console.WriteLine("*************** Error "); } progressBar1.Value = i; progressBar1.Refresh(); Console.WriteLine("*************** " + item.FKProduct); } } dataGridView1.DataSource = lssfs; dataGridView1.Refresh(); var sumQty = lssfs.Sum(w => w.CurrentQty); var sumPrice = lssfs.Sum(w => w.Price); var sumResidualValue = lssfs.Sum(w => w.ResidualValue); var countList = lssfs.Count(); var bilding2Report = lssfs.Select(a => new { WareHouse = "หน้าร้าน", ProductCode = a.ProductBarCode, ProductName = a.ProductName, CurrentQty = a.CurrentQty, CurrUnit = a.CurrUnit, Unit = a.Unit, Price = a.Price, ResidualValue = a.ResidualValue, sumQty = sumQty, sumPrice = sumPrice, sumResidualValue = sumResidualValue, SellPricePerUit = 0, SellPriceTotal = 0, countList = countList, TimeNow = Library.ConvertDateToThaiDate(dateS), Product_S = Code_S == "" || Code_S == null ? "ทั้งหมด" : Code_S, Product_E = Code_E == "" || Code_E == null ? "ทั้งหมด" : Code_E, ProductGroup_S = comboBox_S.Text, ProductGroup_E = comboBox_E.Text }).ToList(); MessageBox.Show((DateTime.Now - dateRun).Minutes + " นาที"); var dt = Library.ConvertToDataTable(bilding2Report); frmMainReport mr = new frmMainReport(this, dt); mr.Show(); lb_msg.Text = "ระบบประมวลผลสำเร็จ"; this.Refresh(); Cursor.Current = Cursors.Default; //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message, "แจ้งเตือนจากระบบ!!", MessageBoxButtons.OK, MessageBoxIcon.Error); // throw; //} }
private void SaveCommit() { try { CNWarehouse cnw = new CNWarehouse(); cnw.Enable = true; cnw.Description = textBoxDesc.Text; cnw.CreateDate = DateTime.Now; cnw.CreateBy = Singleton.SingletonAuthen.Instance().Id; cnw.UpdateDate = DateTime.Now; cnw.UpdateBy = Singleton.SingletonAuthen.Instance().Id; cnw.FKWasteReason = _WasteReason; decimal qtyPiece = 0; List <CNWarehouseDetails> details = new List <CNWarehouseDetails>(); CNWarehouseDetails detail; for (int i = 0; i < dataGridView1.Rows.Count; i++) { var code = dataGridView1.Rows[i].Cells[colCode].Value; if (code == null) { continue; } detail = new CNWarehouseDetails(); qtyPiece += decimal.Parse(dataGridView1.Rows[i].Cells[colQty].Value.ToString()) * decimal.Parse(dataGridView1.Rows[i].Cells[colPZ].Value.ToString()); detail.Enable = true; detail.Description = dataGridView1.Rows[i].Cells[colDescription].Value.ToString(); detail.CreateDate = DateTime.Now; detail.CreateBy = Singleton.SingletonAuthen.Instance().Id; detail.UpdateDate = DateTime.Now; detail.UpdateBy = Singleton.SingletonAuthen.Instance().Id; detail.FKProductDetails = int.Parse(dataGridView1.Rows[i].Cells[colId].Value.ToString()); detail.Qty = decimal.Parse(dataGridView1.Rows[i].Cells[colQty].Value.ToString()); detail.PricePerUnit = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()); detail.BeforeVat = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()) * detail.Qty; detail.Vat = 0; detail.TotalPrice = detail.BeforeVat + detail.Vat; details.Add(detail); //if (i >= dataGridView1.Rows.Count - 2) break; } cnw.FKVendor = _VendorId; cnw.DocDate = DateTime.Now; cnw.DocRefer = textBoxDocRefer.Text; cnw.TotalQty = qtyPiece; cnw.TotalQtyUnit = decimal.Parse(textBoxQtyUnit.Text); cnw.TotalUnVat = decimal.Parse(textBoxTotalUnVat.Text); cnw.TotalBeforeVat = decimal.Parse(textBoxTotalBeforeVat.Text); cnw.TotalVat = decimal.Parse(textBoxTotalVat.Text); cnw.TotalBalance = decimal.Parse(textBoxTotalBalance.Text); cnw.CNWarehouseDetails = details; using (SSLsEntities db = new SSLsEntities()) { int currentYear = DateTime.Now.Year; int currentMonth = DateTime.Now.Month; var getCNCode = db.CNWarehouse.Where(w => w.CreateDate.Year == currentYear && w.CreateDate.Month == currentMonth).Count() + 1; BudgetYear budget = Singleton.SingletonThisBudgetYear.Instance().ThisYear; //Branch branch = Singleton.SingletonP var code = MyConstant.PrefixForGenerateCode.GoodsReturnCN + "" + budget.CodeYear + DateTime.Now.ToString("MM") + Library.GenerateCodeFormCount(getCNCode, 4); cnw.Code = code; db.CNWarehouse.Add(cnw); db.SaveChanges(); // ManageStock Wms //Library.MakeValueForUpdateStockWms(details); MessageBox.Show("บันทึกเรียบร้อย " + cnw.Code); frmMainReport mr = new frmMainReport(this, code); mr.Show(); ResetForm(); } } catch (Exception) { MessageBox.Show("พบข้อมผิดพลาด"); } }
private void SaveCommit() { using (SSLsEntities db = new SSLsEntities()) { int count = db.GetGoodsStoreFront.Where(w => w.CreateDate.Year == DateTime.Now.Year && w.CreateDate.Month == DateTime.Now.Month).Count() + 1; string docCode = MyConstant.PrefixForGenerateCode.GetGoodsForUse + Singleton.SingletonThisBudgetYear.Instance().ThisYear.CodeYear + DateTime.Now.ToString("MM") + Library.GenerateCodeFormCount(count, 4); GetGoodsStoreFront gg = new GetGoodsStoreFront(); List <GetGoodsStoreFrontDetails> details = new List <GetGoodsStoreFrontDetails>(); GetGoodsStoreFrontDetails detail; gg.Enable = true; gg.Code = docCode; gg.CreateDate = DateTime.Now; gg.CreateBy = Singleton.SingletonAuthen.Instance().Id; gg.UpdateDate = DateTime.Now; gg.UpdateBy = Singleton.SingletonAuthen.Instance().Id; gg.TotalQtyUnit = decimal.Parse(textBoxQtyUnit.Text); gg.TotalBalance = decimal.Parse(textBoxTotalBalance.Text); gg.Description = textBoxDesc.Text; for (int i = 0; i < dataGridView1.Rows.Count; i++) { var code = dataGridView1.Rows[i].Cells[colCode].Value; if (code == null) { continue; } code = code.ToString(); detail = new GetGoodsStoreFrontDetails(); detail.Enable = true; detail.Description = dataGridView1.Rows[i].Cells[colLocation].Value.ToString(); detail.CreateDate = DateTime.Now; detail.CreateBy = Singleton.SingletonAuthen.Instance().Id; detail.UpdateDate = DateTime.Now; detail.UpdateBy = Singleton.SingletonAuthen.Instance().Id; detail.FKProductDetails = int.Parse(dataGridView1.Rows[i].Cells[colId].Value.ToString()); var prodDtl = Singleton.SingletonProduct.Instance().ProductDetails.SingleOrDefault(w => w.Id == detail.FKProductDetails); detail.Qty = decimal.Parse(dataGridView1.Rows[i].Cells[colQty].Value.ToString()); detail.CostPerUnit = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()); detail.SellPricePerUnit = prodDtl.SellPrice; details.Add(detail); gg.GetGoodsStoreFrontDetails.Add(detail); // check product นี้ว่ามีในหน้าร้านหรือไม่ ถ้าไม่มีแสดงว่า ไม่เคยเบิกเติมหน้าร้าน เดี่ยวจะมีปันหา var getTransactionPos = db.StoreFrontStockDetails.FirstOrDefault(w => w.Enable == true && w.FKProductDetails == detail.FKProductDetails); if (getTransactionPos == null) // ถ้าไม่มีตัวตนในหน้าร้าน แปลว่า ของไม่มีการเบิกเติม แต่มีสินค้ายุ่จริง { MessageBox.Show("" + code + " " + prodDtl.Products.ThaiName + "(" + prodDtl.ProductUnit.Name + ") " + "ไม่มีในระบบ ไม่สามารถเบิกใช้ได้ กรุณาติดต่อ admin"); return; } } db.GetGoodsStoreFront.Add(gg); /// add To Transaction int j = 1; foreach (var item in details) { var prodDtl = SingletonProduct.Instance().ProductDetails.SingleOrDefault(w => w.Id == item.FKProductDetails); StoreFrontStockDetails addDtl = new StoreFrontStockDetails(); addDtl.DocNo = gg.Code; addDtl.DocDtlNumber = j; addDtl.Description = "เบิกหน้าร้าน ใช้เอง"; addDtl.CreateDate = DateTime.Now; addDtl.CreateBy = SingletonAuthen.Instance().Id; addDtl.UpdateDate = DateTime.Now; addDtl.UpdateBy = SingletonAuthen.Instance().Id; addDtl.Enable = true; addDtl.ActionQty = prodDtl.PackSize * item.Qty; // จำนวนหน่วย * pz var stockHD = db.StoreFrontStock.FirstOrDefault(w => w.FKProduct == prodDtl.FKProduct && w.Enable == true); addDtl.FKStoreFrontStock = stockHD.Id; addDtl.FKTransactionType = MyConstant.PosTransaction.GGF; addDtl.Barcode = prodDtl.Code; addDtl.Name = prodDtl.Products.ThaiName; addDtl.FKProductDetails = prodDtl.Id; addDtl.ResultQty = 0; addDtl.PackSize = prodDtl.PackSize; addDtl.DocRefer = "-"; addDtl.DocReferDtlNumber = 0; addDtl.CostOnlyPerUnit = prodDtl.CostOnly; addDtl.SellPricePerUnit = prodDtl.SellPrice; db.StoreFrontStockDetails.Add(addDtl); j++; } db.SaveChanges(); // open paper frmMainReport report = new frmMainReport(this, gg.Code); report.Show(); dataGridView1.Rows.Clear(); dataGridView1.Refresh(); dataGridView1.Rows.Add(1); count = db.GetGoodsStoreFront.Where(w => w.CreateDate.Year == DateTime.Now.Year && w.CreateDate.Month == DateTime.Now.Month).Count() + 1; docCode = MyConstant.PrefixForGenerateCode.GetGoodsForUse + Singleton.SingletonThisBudgetYear.Instance().ThisYear.CodeYear + DateTime.Now.ToString("MM") + Library.GenerateCodeFormCount(count, 4); textBoxTOCode.Text = docCode; textBoxTODate.Text = Library.ConvertDateToThaiDate(DateTime.Now); } }
public void BillingData() { //try //{ Cursor.Current = Cursors.WaitCursor; List <ObjItemList> objs = new List <ObjItemList>(); DateTime dateS = dateTimePickerStart.Value; DateTime dateE = dateTimePickerEnd.Value; DateTime dateRun = DateTime.Now; using (SSLsEntities db = new SSLsEntities()) { string queryString = @"SELECT dbo.View_SumSKUCheck_01_11_17.SKU, wms.Products.Code, wms.Products.ThaiName, dbo.View_SumSKUCheck_01_11_17.CheckQtyPiece, dbo.View_SumSKUCheck_01_11_17.CostValue / dbo.View_SumSKUCheck_01_11_17.CheckQtyPiece AS CostAvg, dbo.View_SumSKUCheck_01_11_17.SellValue / dbo.View_SumSKUCheck_01_11_17.CheckQtyPiece AS SellAvg FROM dbo.View_SumSKUCheck_01_11_17 LEFT OUTER JOIN wms.Products ON dbo.View_SumSKUCheck_01_11_17.SKU = wms.Products.Id"; var getdata = db.Database.ExecuteEntities <GetCountStock>(queryString); var checkFront = db.View_CheckFront_01_11_17.ToList(); string docS = textBox1.Text; string docE = textBox2.Text; var vDon = db.V_DifStockCount02.ToList(); ObjItemList obj; int countListpg = getdata.Count(); Console.WriteLine("count = " + countListpg); progressBar1.Value = 0; progressBar1.Minimum = 0; progressBar1.Maximum = getdata.Count(); int i = 1; var dateString = dateS.ToString("yyyyMMdd"); var aa = Library.GetQueryยอดยกมา(dateString, "0", "999999999999999"); List <TransactionType> transType = new List <TransactionType>(); transType = db.TransactionType.Where(w => w.Enable == true).ToList(); List <int> fktransP = new List <int>(); fktransP = transType.Where(w => w.IsPlus == true).Select(w => w.Id).ToList <int>(); List <int> fktransM = new List <int>(); fktransP = transType.Where(w => w.IsPlus == false).Select(w => w.Id).ToList <int>(); foreach (var item in getdata) { progressBar1.Value = progressBar1.Value + 1; var prodGet = Singleton.SingletonProduct.Instance().Products.SingleOrDefault(w => w.Id == item.SKU); obj = new ObjItemList(); var getResultDate = aa.SingleOrDefault(w => w.FKProduct == item.SKU); obj.Number = i + ""; obj.ItemName = item.ThaiName; obj.SKU = item.SKU; obj.Code = item.Code; obj.CheckStock = Library.ConvertDecimalToStringForm(item.CheckQtyPiece); var don = vDon.SingleOrDefault(w => w.FKProduct == item.SKU); obj.TotalStock = Library.ConvertDecimalToStringForm(decimal.Parse(getResultDate.qty)); obj.DiffQty = Library.ConvertDecimalToStringForm(item.CheckQtyPiece - decimal.Parse(obj.TotalStock)); obj.CostPerUnit = Library.ConvertDecimalToStringForm(item.CostAvg); obj.TotalCost = Library.ConvertDecimalToStringForm(item.CostAvg * (item.CheckQtyPiece - decimal.Parse(obj.TotalStock))); obj.SellPerUnit = Library.ConvertDecimalToStringForm(item.SellAvg); obj.TotalSell = Library.ConvertDecimalToStringForm(decimal.Parse(obj.SellPerUnit) * decimal.Parse(obj.DiffQty)); obj.DiffPrice = Library.ConvertDecimalToStringForm(decimal.Parse(obj.SellPerUnit) - decimal.Parse(obj.CostPerUnit)); obj.decimal_TotalCost = item.CostAvg * decimal.Parse(obj.DiffQty); obj.decimal_TotalSell = decimal.Parse(obj.TotalSell); obj.decimal_TotalCheck += decimal.Parse(obj.CheckStock); obj.decimal_TotalResult += decimal.Parse(obj.TotalStock); var checkDoc = checkFront.Where(w => w.FKProduct == item.SKU).ToList(); string docStr = ""; foreach (var doc in checkDoc) { docStr = doc.DocNo + " (" + doc.Number + ") " + docStr; } obj.Description = docStr; objs.Add(obj); i++; // ********** ปรับปรุง *************************************************** // StoreFrontStockDetails detail = new StoreFrontStockDetails(); // detail.DocNo = "-"; // detail.DocDtlNumber = 0; // detail.Description = "ปรับปรุงหน้าร้าน28/04/2018"; // detail.CreateDate = DateTime.Parse("2018-04-27 23:58:00"); // detail.CreateBy = "admin"; // detail.UpdateDate = DateTime.Now; // detail.UpdateBy = "admin"; // detail.Enable = true; // var fkStore = db.StoreFrontStock.FirstOrDefault(w => w.Enable == true && w.FKProduct == item.SKU); // if (fkStore == null) // { // using (SSLsEntities db1 = new SSLsEntities()) // { // // add to // StoreFrontStock storefrontHD = new StoreFrontStock(); // storefrontHD = new StoreFrontStock(); // storefrontHD.Description = "add new"; // storefrontHD.CreateDate = DateTime.Now; // storefrontHD.CreateBy = Singleton.SingletonAuthen.Instance().Id; // storefrontHD.UpdateDate = DateTime.Now; // storefrontHD.UpdateBy = Singleton.SingletonAuthen.Instance().Id; // storefrontHD.Enable = true; // storefrontHD.CurrentQty = 0; // storefrontHD.FKProduct = item.SKU; // db1.StoreFrontStock.Add(storefrontHD); // db1.SaveChanges(); // fkStore = db.StoreFrontStock.FirstOrDefault(w => w.Enable == true && w.FKProduct == item.SKU); // } // } // if (decimal.Parse(obj.DiffQty) > 0) // ผลต่างเป็น + ต้องทำปรับเข้า =25 // { // detail.ActionQty = decimal.Parse(obj.DiffQty); // detail.FKTransactionType = 25; // } // else if (decimal.Parse(obj.DiffQty) < 0)// ผลต่างเป็น - ต้องทำจ่ายออก =24 // { // detail.ActionQty = decimal.Parse(obj.DiffQty) * -1; // detail.FKTransactionType = 24; // } // else // 0 ไม่ทำไร // { // continue; // } // detail.FKStoreFrontStock = fkStore.Id; // detail.Barcode = obj.Code; // detail.Name = "-"; // detail.FKProductDetails = prodGet.ProductDetails.OrderBy(w => w.PackSize).FirstOrDefault(w => w.Enable == true).Id; // detail.ResultQty = 0; // detail.PackSize = prodGet.ProductDetails.OrderBy(w => w.PackSize).FirstOrDefault(w => w.Enable == true).PackSize; // detail.CostOnlyPerUnit = decimal.Parse(obj.CostPerUnit); // detail.SellPricePerUnit = decimal.Parse(obj.SellPerUnit); // db.StoreFrontStockDetails.Add(detail); // Console.WriteLine("fkProHD " + item.SKU + " " + detail.ActionQty + " type=" + detail.FKTransactionType); } //db.SaveChanges(); // ********** ปรับปรุง } dataGridView1.DataSource = objs; dataGridView1.Refresh(); MessageBox.Show("ใช้เวลาโปรเซส " + Library.ConvertDateToThaiDate(dateRun, true) + " ถึง " + Library.ConvertDateToThaiDate(DateTime.Now, true)); var Date_S = Library.ConvertDateToThaiDate(dateS); var Date_E = Library.ConvertDateToThaiDate(dateE); var countList = objs.Where(w => w.Number != null).Count(); var sumTotalCost = Library.ConvertDecimalToStringForm(objs.Sum(s => s.decimal_TotalCost)); var sumTotalSell = Library.ConvertDecimalToStringForm(objs.Sum(s => s.decimal_TotalSell)); var sumTotalResult = Library.ConvertDecimalToStringForm(objs.Sum(s => s.decimal_TotalResult)); var sumTotalCheck = Library.ConvertDecimalToStringForm(objs.Sum(s => s.decimal_TotalCheck)); var sumTotalDiff = Library.ConvertDecimalToStringForm(objs.Sum(s => decimal.Parse(s.DiffQty))); var getReport = objs.Select(w => new { Number = w.Number, ItemName = w.ItemName, Code = w.Code, CheckStock = w.CheckStock, TotalStock = w.TotalStock, DiffQty = w.DiffQty, CostPerUnit = w.CostPerUnit, TotalCost = w.TotalCost, Date_S = Date_S, Date_E = Date_E, Doc_S = textBox1.Text, Doc_E = textBox2.Text, countList = countList, sumTotalCost = sumTotalCost, SellPerUnit = w.SellPerUnit, TotalSell = w.TotalSell, sumTotalSell = sumTotalSell, SumTotalCheck = sumTotalCheck, SumTotalResult = sumTotalResult, SumTotalDiff = sumTotalDiff, DiffPrice = w.DiffPrice }); var dt = Library.ConvertToDataTable(getReport.ToList()); frmMainReport mr = new frmMainReport(this, dt); mr.Show(); lb_msg.Text = "ระบบประมวลผลสำเร็จ"; this.Refresh(); Cursor.Current = Cursors.Default; //} //catch (Exception ex) //{ // Cursor.Current = Cursors.Default; // MessageBox.Show(ex.Message, "แจ้งเตือนจากระบบ!!", MessageBoxButtons.OK, MessageBoxIcon.Error); // throw; //} }
private void SaveCommit() { using (SSLsEntities db = new SSLsEntities()) { StoreFrontTransferWaste sft = new StoreFrontTransferWaste(); sft.Enable = true; sft.Code = textBoxCode.Text; sft.CreateDate = DateTime.Now; sft.CreateBy = SingletonAuthen.Instance().Id; sft.Description = textBoxRemark.Text; sft.UpdateDate = DateTime.Now; sft.UpdateBy = SingletonAuthen.Instance().Id; decimal qtyPiece = 0; List <StoreFrontTransferWasteDtl> details = new List <StoreFrontTransferWasteDtl>(); StoreFrontTransferWasteDtl detail; for (int i = 0; i < dataGridView1.Rows.Count; i++) { var code = dataGridView1.Rows[i].Cells[colCode].Value; if (code == null) { continue; } detail = new StoreFrontTransferWasteDtl(); qtyPiece += decimal.Parse(dataGridView1.Rows[i].Cells[colQty].Value.ToString()) * decimal.Parse(dataGridView1.Rows[i].Cells[colPZ].Value.ToString()); detail.Enable = true; detail.Description = dataGridView1.Rows[i].Cells[colDescription].Value.ToString(); detail.CreateDate = DateTime.Now; detail.CreateBy = Singleton.SingletonAuthen.Instance().Id; detail.UpdateDate = DateTime.Now; detail.UpdateBy = Singleton.SingletonAuthen.Instance().Id; detail.FKProductDetails = int.Parse(dataGridView1.Rows[i].Cells[colId].Value.ToString()); detail.Qty = decimal.Parse(dataGridView1.Rows[i].Cells[colQty].Value.ToString()); detail.CostPerUnit = decimal.Parse(dataGridView1.Rows[i].Cells[colCostPerUnit].Value.ToString()); details.Add(detail); //if (i >= dataGridView1.Rows.Count - 2) break; } sft.TotalQty = qtyPiece; sft.TotalQtyUnit = details.Sum(w => w.Qty); sft.FKWarehouse = MyConstant.WareHouse.StoreFront; sft.FKWasteReason = _WasteReason; sft.StoreFrontTransferWasteDtl = details; db.StoreFrontTransferWaste.Add(sft); db.SaveChanges(); // + ห้องของเสีย // Initisl waste warehouse ก่อน List <int> fkProDtl = details.Select(w => w.FKProductDetails).Distinct().ToList <int>(); List <int> fkPro = Singleton.SingletonProduct.Instance().ProductDetails.Where(w => fkProDtl.Contains(w.Id)).Select(w => w.FKProduct).Distinct().ToList <int>(); List <WasteWarehouse> wss = new List <WasteWarehouse>(); foreach (var item in fkPro) { var data = db.WasteWarehouse.FirstOrDefault(w => w.FKProduct == item && w.Enable == true); if (data == null) { WasteWarehouse ws = new WasteWarehouse(); ws.FKProduct = item; ws.FKWarehouse = MyConstant.WareHouse.WasteWarehouse; ws.QtyPiece = 0; ws.QtyUnit = 0; ws.Description = "Auto Detect"; ws.Enable = true; ws.CreateDate = DateTime.Now; ws.CreateBy = Singleton.SingletonAuthen.Instance().Id; ws.UpdateDate = DateTime.Now; ws.UpdateBy = Singleton.SingletonAuthen.Instance().Id; wss.Add(ws); } } db.WasteWarehouse.AddRange(wss); db.SaveChanges(); /// จัดการ stock /// -storefront //Library.MakeValueForUpdateStockPos(details); // อันเดิม ยกเลิก /// + warehouse ///Library.MakeValueForUpdateStockWms(details); /// + ห้องของเสีย Library.AddWasteWarehouse(details, sft.Code); // print ใบ ของเสียหน้าร้าน สู่ ห้องของเสีย // Initisl หน้าร้าน ก่อน เผื่อยังไม่มี List <StoreFrontStock> stocks = new List <StoreFrontStock>(); foreach (var item in fkPro) { var data = db.StoreFrontStock.FirstOrDefault(w => w.Enable == true && w.FKProduct == item); if (data == null) { stocks.Add(new StoreFrontStock() { CreateDate = DateTime.Now, CreateBy = SingletonAuthen.Instance().Id, UpdateDate = DateTime.Now, UpdateBy = SingletonAuthen.Instance().Id, Enable = true, CurrentQty = 0, FKProduct = item, Description = "พบของเสียห้านร้าน" }); } } db.StoreFrontStock.AddRange(stocks); db.SaveChanges(); // - หน้าร้าน int number = 1; foreach (var item in details) { var proDtl = Singleton.SingletonProduct.Instance().ProductDetails.SingleOrDefault(w => w.Id == item.FKProductDetails && w.Enable == true); var stockHD = db.StoreFrontStock.FirstOrDefault(w => w.FKProduct == proDtl.FKProduct && w.Enable == true); StoreFrontStockDetails addDtl = new StoreFrontStockDetails(); addDtl.DocNo = sft.Code; addDtl.DocDtlNumber = number; addDtl.Description = "ของเสียหน้าร้าน"; addDtl.CreateDate = DateTime.Now; addDtl.CreateBy = SingletonAuthen.Instance().Id; addDtl.UpdateDate = DateTime.Now; addDtl.UpdateBy = SingletonAuthen.Instance().Id; addDtl.Enable = true; addDtl.ActionQty = item.Qty * proDtl.PackSize; addDtl.FKStoreFrontStock = stockHD.Id; addDtl.FKTransactionType = MyConstant.PosTransaction.CNToWarehouse; addDtl.Barcode = proDtl.Code; addDtl.Name = proDtl.Products.ThaiName; addDtl.FKProductDetails = item.FKProductDetails; addDtl.ResultQty = addDtl.ActionQty; var lastAction = db.StoreFrontStockDetails.OrderByDescending(w => w.CreateDate).FirstOrDefault(w => w.FKProductDetails == item.FKProductDetails && w.Enable == true); if (lastAction != null) { addDtl.ResultQty = lastAction.ResultQty - addDtl.ActionQty; } addDtl.PackSize = proDtl.PackSize; addDtl.DocRefer = "-"; addDtl.DocReferDtlNumber = 0; addDtl.CostOnlyPerUnit = proDtl.CostOnly; addDtl.SellPricePerUnit = proDtl.SellPrice; stockHD.CurrentQty = stockHD.CurrentQty - addDtl.ActionQty; db.Entry(stockHD).State = EntityState.Modified; db.StoreFrontStockDetails.Add(addDtl); db.SaveChanges(); number++; } try { /// ใบของเสียหน้าร้าน frmMainReport mr = new frmMainReport(this, sft.Code); mr.Show(); } catch (Exception) { MessageBox.Show("จำนวนเอกสารผิดพลาด"); } this.Dispose(); } }
public void bbildingDatauilding() { //try //{ Cursor.Current = Cursors.WaitCursor; var time_S = dateTimePicker_S.Value; var time_E = dateTimePicker_E.Value; string dateStart = time_S.ToString("yyyyMMdd"); List <C_ProductRawInOut> ls = new List <C_ProductRawInOut>(); List <C_ProductRawInOut> lsGetResult = new List <C_ProductRawInOut>(); using (SSLsEntities db = new SSLsEntities()) { //int fkPro = db.ProductDetails.Where(w => w.Code == _Code && w.Enable == true) // .ToList().Select(sl => sl.FKProduct).Distinct().FirstOrDefault(); List <int> fkPro = new List <int>(); if (checkBoxProduct.Checked == true) { // ถ้าเลือกทั้งหมด fkPro = Library.GetAllProDtlId("", ""); } else { fkPro = Library.GetAllProDtlId(txt_p_S.Text.Trim(), txt_p_E.Text.Trim()); } //fkPro.Add(41550); //fkPro.Add(41557); //string fkProductConcat = string.Join(",", fkPro); var getOnView = db.View_GetFrontStockByProductDate.Where(w => DbFunctions.TruncateTime(w.CreateDate) >= DbFunctions.TruncateTime(time_S) && DbFunctions.TruncateTime(w.CreateDate) <= DbFunctions.TruncateTime(time_E)).OrderBy(w => w.CreateDate).ToList(); var getForProduct = getOnView.Where(w => fkPro.Contains(w.FKProduct)).OrderBy(w => w.FKProduct).ToList(); //List<C_ProductRawInOut> stackDetails = new List<C_ProductRawInOut>(); /// อ้างอิง วิว View_GetFrontStockByProductDate สามารถเชคได้ // string query = @"SELECT TOP (100) PERCENT pos.StoreFrontStock.FKProduct, pos.StoreFrontStockDetails.CreateDate, CONVERT(varchar, pos.StoreFrontStockDetails.CreateDate, 112) AS DateCreate, pos.StoreFrontStockDetails.Barcode, // pos.StoreFrontStockDetails.FKProductDetails, pos.StoreFrontStockDetails.ActionQty, pos.StoreFrontStockDetails.PackSize, pos.StoreFrontStockDetails.DocNo, pos.StoreFrontStockDetails.DocDtlNumber, // pos.StoreFrontStockDetails.DocRefer, pos.StoreFrontStockDetails.DocReferDtlNumber, wms.ProductDetails.Code, wms.ProductUnit.Name AS Unit, pos.TransactionType.IsPlus, pos.TransactionType.Name AS TransName //FROM pos.StoreFrontStockDetails INNER JOIN // pos.StoreFrontStock ON pos.StoreFrontStockDetails.FKStoreFrontStock = pos.StoreFrontStock.Id INNER JOIN // wms.ProductDetails ON pos.StoreFrontStockDetails.FKProductDetails = wms.ProductDetails.Id INNER JOIN // wms.ProductUnit ON wms.ProductDetails.FKUnit = wms.ProductUnit.Id AND wms.ProductDetails.FKUnit = wms.ProductUnit.Id INNER JOIN // pos.TransactionType ON pos.StoreFrontStockDetails.FKTransactionType = pos.TransactionType.Id AND pos.StoreFrontStockDetails.FKTransactionType = pos.TransactionType.Id //WHERE (pos.StoreFrontStockDetails.Enable = 1) AND (pos.StoreFrontStock.Enable = 1) AND (CONVERT(varchar, pos.StoreFrontStockDetails.CreateDate, 112) BETWEEN '@dateStart' AND '20171201') AND // (pos.StoreFrontStock.FKProduct IN (41550, 41557))"; // SqlConnection sqlConn = new SqlConnection(db.Database.Connection.ConnectionString); // sqlConn.Open(); // SqlCommand cmd = new SqlCommand(query, sqlConn); // // pass param // cmd.Parameters.AddWithValue("@dateStart", "dateStart"); //cmd.Parameters.Add("@DateS", SqlDbType.VarChar); //cmd.Parameters["@DateS"].Value = time_S.ToString("yyyyMMdd"); //cmd.Parameters.Add("@DateE", SqlDbType.VarChar); //cmd.Parameters["@DateE"].Value = time_E.ToString("yyyyMMdd"); //cmd.Parameters.Add("@fkProductConcat", SqlDbType.Int); //cmd.Parameters["@fkProductConcat"].Value = fkPro; //Console.WriteLine(fkProductConcat); //SqlDataAdapter da = new SqlDataAdapter(cmd); //DataTable datatable = new DataTable(); //da.Fill(datatable); //sqlConn.Close(); //List<Map_GetFrontStockByProductDate> models = new List<Map_GetFrontStockByProductDate>(); //foreach (DataRow row in datatable.Rows) //{ // var values = row.ItemArray; // var map = new Map_GetFrontStockByProductDate(); // //string a = values[10].ToString(); // map.FKProduct = int.Parse(values[0].ToString()); // map.CreateDate = DateTime.Parse(values[1].ToString()); // map.DateCreate = values[2].ToString(); // map.Barcode = values[3].ToString(); // map.FKProductDetails = int.Parse(values[4].ToString()); // map.ActionQty = decimal.Parse(values[5].ToString()); // map.PackSize = decimal.Parse(values[6].ToString()); // map.DocNo = values[7].ToString(); // map.DocDtlNumber = values[8] == null ? 0 : int.Parse(values[8].ToString()); // map.DocRefer = values[9].ToString(); // map.DocReferDtlNumber = values[10].ToString() == "" ? 0 : int.Parse(values[10].ToString()); // map.Code = values[11].ToString(); // map.Unit = values[12].ToString(); // map.IsPlus = bool.Parse(values[13].ToString()); // map.TransName = values[14].ToString(); // models.Add(map); //} int countListpg = getForProduct.Count(); progressBar1.Minimum = 0; progressBar1.Maximum = fkPro.Count(); int i = 0; //var aa = db.fn_GetResultDate(dateStart, "0", "999999999999999").ToList(); var aa = Library.GetQueryยอดยกมา(dateStart, "0", "999999999999999"); DateTime startPro = DateTime.Now; //var sortNew = getForProduct.OrderBy(w => w.DateCreate).ToList(); foreach (var item in fkPro) { i++; List <View_GetFrontStockByProductDate> dataGet = getForProduct.Where(w => w.FKProduct == item).OrderBy(w => w.CreateDate).ToList(); if (dataGet.Count == 0) { progressBar1.Value = i; progressBar1.Refresh(); Console.WriteLine("******* " + fkPro.Count + " " + item + " " + i + " " + getForProduct.Count()); continue; } //decimal resultForProHD = Library.GetResult(item, time_S); decimal resultForProHD = decimal.Parse(aa.FirstOrDefault(w => w.FKProduct == item).qty); lsGetResult.Add(new C_ProductRawInOut() // ยอดยกมา { CreateDate = "", ActionQty_P = "", ActionQty_D = "", BalanceQty = Library.ConvertDecimalToStringForm(resultForProHD), DocDescription = "", DocDtlNumber = "", DocNo = "ยอดยกมา", DocReferDtlNumber = "", PackSize = "", ProductName = "", ProductNo = "", ProductUnit = "", ReferDoc = "" }); decimal sumPlus = 0; decimal sumMinus = 0; foreach (var trans in dataGet) // transactions { decimal plus = 0; decimal minus = 0; if (trans.IsPlus == true) { plus = trans.ActionQty; resultForProHD = resultForProHD + plus; } else { minus = trans.ActionQty; resultForProHD = resultForProHD - minus; } sumPlus += plus; sumMinus += minus; lsGetResult.Add(new C_ProductRawInOut() // transactions { CreateDate = Library.ConvertDateToThaiDate(trans.CreateDate, true), ActionQty_P = Library.ConvertDecimalToStringForm(plus), ActionQty_D = Library.ConvertDecimalToStringForm(minus), BalanceQty = Library.ConvertDecimalToStringForm(resultForProHD), DocDescription = "", DocDtlNumber = trans.DocDtlNumber + "", DocNo = trans.DocNo, DocReferDtlNumber = trans.DocReferDtlNumber + "", PackSize = trans.PackSize + "", ProductNo = trans.Code, ProductName = trans.ThaiName, ProductUnit = trans.Unit, ReferDoc = trans.DocRefer }); getForProduct.Remove(trans); } lsGetResult.Add(new C_ProductRawInOut() // ยอดยกไป { CreateDate = "", ActionQty_P = Library.ConvertDecimalToStringForm(sumPlus), ActionQty_D = Library.ConvertDecimalToStringForm(sumMinus), BalanceQty = Library.ConvertDecimalToStringForm(resultForProHD), DocDescription = "", DocDtlNumber = "", DocNo = "สรุปรวม", DocReferDtlNumber = "", PackSize = "", ProductName = "", ProductNo = "", ProductUnit = "", ReferDoc = "" }); progressBar1.Value = i; progressBar1.Refresh(); Console.WriteLine("******* " + fkPro.Count + " " + item + " " + i + " " + getForProduct.Count()); } Console.WriteLine(startPro + " " + DateTime.Now); //foreach (var item in fkPro) //{ // i++; // List<StoreFrontStockDetails> details = db.StoreFrontStockDetails // .Where(w => w.StoreFrontStock.FKProduct == item && w.StoreFrontStock.Enable == true && w.Enable == true && // DbFunctions.TruncateTime(w.CreateDate) >= DbFunctions.TruncateTime(time_S) && // DbFunctions.TruncateTime(w.CreateDate) <= DbFunctions.TruncateTime(time_E) // ).OrderBy(w => w.CreateDate).ToList(); // if (details.Count == 0) // { // progressBar1.Value = i; // progressBar1.Refresh(); // continue; // } // decimal resultForProHD = Library.GetResult(item, time_S); // lsGetResult.Add(new C_ProductRawInOut() // ยอดยกมา // { // CreateDate = "", // ActionQty_P = "", // ActionQty_D = "", // BalanceQty = Library.ConvertDecimalToStringForm(resultForProHD), // DocDescription = "", // DocDtlNumber = "", // DocNo = "ยอดยกมา", // DocReferDtlNumber = "", // PackSize = "", // ProductName = "", // ProductNo = "", // ProductUnit = "", // ReferDoc = "" // }); // decimal sumPlus = 0; // decimal sumMinus = 0; // foreach (var trans in details) // transactions // { // decimal plus = 0; // decimal minus = 0; // if (trans.TransactionType.IsPlus == true) // { // plus = trans.ActionQty; // resultForProHD = resultForProHD + plus; // } // else // { // minus = trans.ActionQty; // resultForProHD = resultForProHD - minus; // } // sumPlus += plus; // sumMinus += minus; // lsGetResult.Add(new C_ProductRawInOut() // transactions // { // CreateDate = Library.ConvertDateToThaiDate(trans.CreateDate, true), // ActionQty_P = Library.ConvertDecimalToStringForm(plus), // ActionQty_D = Library.ConvertDecimalToStringForm(minus), // BalanceQty = Library.ConvertDecimalToStringForm(resultForProHD), // DocDescription = "", // DocDtlNumber = trans.DocDtlNumber + "", // DocNo = trans.DocNo, // DocReferDtlNumber = trans.DocReferDtlNumber + "", // PackSize = trans.PackSize + "", // ProductNo = trans.ProductDetails.Code, // ProductName = trans.ProductDetails.Products.ThaiName, // ProductUnit = trans.ProductDetails.ProductUnit.Name, // ReferDoc = trans.DocRefer // }); // } // lsGetResult.Add(new C_ProductRawInOut() // ยอดยกไป // { // CreateDate = "", // ActionQty_P = Library.ConvertDecimalToStringForm(sumPlus), // ActionQty_D = Library.ConvertDecimalToStringForm(sumMinus), // BalanceQty = Library.ConvertDecimalToStringForm(resultForProHD), // DocDescription = "", // DocDtlNumber = "", // DocNo = "สรุปรวม", // DocReferDtlNumber = "", // PackSize = "", // ProductName = "", // ProductNo = "", // ProductUnit = "", // ReferDoc = "" // }); // progressBar1.Value = i; // progressBar1.Refresh(); //} var countList = lsGetResult.Where(w => w.DocNo != "ยอดยกมา" && w.DocNo != "สรุปรวม").Count(); dataGridView1.DataSource = lsGetResult; dataGridView1.Refresh(); var dt = Library.ConvertToDataTable(lsGetResult.Select(s => new { CreateDate = s.CreateDate, DocNo = s.DocNo == "ยอดยกมา" || s.DocNo == "สรุปรวม" ? s.DocNo : s.DocNo + "- " + s.DocDtlNumber, DocName = s.DocNo == "ยอดยกมา" || s.DocNo == "สรุปรวม" ? "" : s.ProductNo + " " + s.ProductName + " " + s.ProductUnit + " x " + s.PackSize, ActionQty_P = s.ActionQty_P, ActionQty_D = s.ActionQty_D, BalanceQty = s.BalanceQty, ReferDoc = s.ReferDoc == "" || s.ReferDoc == null ? "" : s.ReferDoc + "- " + s.DocReferDtlNumber, countList = countList, Date_S = Library.ConvertDateToThaiDate(dateTimePicker_S.Value), Date_E = Library.ConvertDateToThaiDate(dateTimePicker_E.Value), Product_S = txt_p_S.Text == "" || txt_p_S.Text == null ? "ทั้งหมด" : txt_p_S.Text, Product_E = txt_p_E.Text == "" || txt_p_E.Text == null ? "ทั้งหมด" : txt_p_E.Text }).ToList()); lb_msg.Text = "ระบบประมวลผลสำเร็จ"; this.Refresh(); Cursor.Current = Cursors.Default; frmMainReport mr = new frmMainReport(this, dt, false); mr.Show(); } //} //catch (Exception ex) //{ // MessageBox.Show(ex.Message, "แจ้งเตือนจากระบบ!!", MessageBoxButtons.OK, MessageBoxIcon.Error); //} }
private void SaveCommit() { using (SSLsEntities db = new SSLsEntities()) { int currentYear = DateTime.Now.Year; int currentMonth = DateTime.Now.Month; var adjust = db.AdjustStoreFront.Where(w => w.UpdateDate.Year == currentYear && w.UpdateDate.Month == currentMonth).Count() + 1; //Branch branch = Singleton.SingletonP string code = MyConstant.PrefixForGenerateCode.AdjustStoreFront + DateTime.Now.ToString("yy") + "" + DateTime.Now.ToString("MM") + Library.GenerateCodeFormCount(adjust, 4); // adjust AdjustStoreFront obj = new AdjustStoreFront(); obj.Code = code; obj.Enable = true; obj.Description = textBoxDesc.Text; obj.CreateDate = DateTime.Now; obj.CreateBy = Singleton.SingletonAuthen.Instance().Id; obj.UpdateDate = DateTime.Now; obj.UpdateBy = Singleton.SingletonAuthen.Instance().Id; obj.TotalBalance = dtl.CostOnly * decimal.Parse(textBoxQtyAd.Text); obj.TotalQtyUnit = decimal.Parse(textBoxQtyAd.Text); List <AdjustStoreFrontDetail> adDtl = new List <AdjustStoreFrontDetail>(); adDtl.Add(new AdjustStoreFrontDetail() { Enable = true, Description = "", CreateDate = DateTime.Now, CreateBy = obj.CreateBy, UpdateDate = DateTime.Now, UpdateBy = obj.CreateBy, FKProductDetails = dtl.Id, Qty = decimal.Parse(textBoxQtyAd.Text), CostPerUnit = dtl.CostOnly, SellPricePerUnit = dtl.SellPrice }); obj.AdjustStoreFrontDetail = adDtl; db.AdjustStoreFront.Add(obj); // stock StoreFrontStockDetails addDtl = new StoreFrontStockDetails(); addDtl.DocNo = code; addDtl.DocDtlNumber = 1; addDtl.Description = "Adjust หน้าร้าน"; addDtl.CreateDate = DateTime.Now; addDtl.CreateBy = SingletonAuthen.Instance().Id; addDtl.UpdateDate = DateTime.Now; addDtl.UpdateBy = SingletonAuthen.Instance().Id; addDtl.Enable = true; addDtl.ActionQty = decimal.Parse(textBoxQtyAd.Text) * dtl.PackSize; var stockHD = db.StoreFrontStock.FirstOrDefault(w => w.FKProduct == dtl.FKProduct && w.Enable == true); addDtl.FKStoreFrontStock = stockHD.Id; addDtl.FKTransactionType = MyConstant.PosTransaction.ADJ; addDtl.Barcode = textBoxCode.Text; addDtl.Name = dtl.Products.ThaiName; addDtl.FKProductDetails = dtl.Id; addDtl.ResultQty = addDtl.ActionQty; addDtl.PackSize = dtl.PackSize; addDtl.DocRefer = "-"; addDtl.DocReferDtlNumber = 0; addDtl.CostOnlyPerUnit = dtl.CostOnly; addDtl.SellPricePerUnit = dtl.SellPrice; db.StoreFrontStockDetails.Add(addDtl); db.SaveChanges(); // open paper frmMainReport report = new frmMainReport(this, code); report.Show(); dataGridView1.Rows.Clear(); dataGridView1.Refresh(); var data = db.AdjustStoreFront.OrderBy(w => w.CreateDate).Where(w => w.Enable == true).ToList(); foreach (var item in data) { dataGridView1.Rows.Add ( item.Code, Library.ConvertDateToThaiDate(item.CreateDate), Library.GetFullNameUserById(item.CreateBy), item.TotalQtyUnit, item.TotalBalance, item.Description ); } } }