private void CheckCount1() { string docno = textBoxDocNo.Text.Trim(); using (SSLsEntities db = new SSLsEntities()) { var getDocOlder = db.StoreFrontValueDoc.SingleOrDefault(w => w.DocNo == docno && w.Enable == true); if (getDocOlder.ConfirmCheck1Date != null) { return; } if (getDocOlder != null) { _GetDocNo = getDocOlder; if (_GetDocNo.ConfirmCheck1Date == null) // ยังไม่ยืนยัน 1 { getDocOlder.ConfirmCheck1Date = DateTime.Now; getDocOlder.ConfirmCheck1By = Singleton.SingletonAuthen.Instance().Id; foreach (var item in getDocOlder.StoreFrontValueSet.Where(w => w.Enable == true).ToList()) { item.QtyUnit2 = item.QtyUnit1; item.Total = item.CostOnlyPerUnit * item.QtyUnit2; db.Entry(item).State = EntityState.Modified; } db.Entry(getDocOlder).State = EntityState.Modified; db.SaveChanges(); MessageBox.Show("ยืนยันตรวจนับ 1 เรียบร้อย"); BinddingUI(); } //else if (_GetDocNo.ConfirmCheck1Date != null && _GetDocNo.ConfirmCheck2Date == null) //{ // dataGridView1.Columns[colQty1].ReadOnly = true; // dataGridView1.Columns[colQty2].ReadOnly = false; // dataGridView1.Columns[colCode].ReadOnly = true; //} //else //{ // dataGridView1.Columns[colCode].ReadOnly = true; //} } } }
private void CheckCount2() { string docno = textBoxDocNo.Text.Trim(); using (SSLsEntities db = new SSLsEntities()) { var getDocOlder = db.StoreFrontValueDoc.SingleOrDefault(w => w.DocNo == docno && w.Enable == true); if (getDocOlder != null) { _GetDocNo = getDocOlder; if (_GetDocNo.ConfirmCheck1Date != null && _GetDocNo.ConfirmCheck2Date == null) // ยังไม่ยืนยัน 1 { getDocOlder.ConfirmCheck2Date = DateTime.Now; getDocOlder.ConfirmCheck2By = Singleton.SingletonAuthen.Instance().Id; for (int i = 0; i < dataGridView1.Rows.Count; i++) { if (dataGridView1.Rows[i].Cells[colCode].Value != null) { int number = int.Parse(dataGridView1.Rows[i].Cells[colNumber].Value.ToString()); decimal qty1 = decimal.Parse(dataGridView1.Rows[i].Cells[colQty1].Value.ToString()); decimal qty2 = decimal.Parse(dataGridView1.Rows[i].Cells[colQty2].Value.ToString()); decimal total = decimal.Parse(dataGridView1.Rows[i].Cells[colTotal].Value.ToString()); if (qty1 != qty2) { // แปลว่ามีการนับ 2 var edit = getDocOlder.StoreFrontValueSet.FirstOrDefault(w => w.Enable == true && w.Number == number); edit.QtyUnit2 = qty2; edit.Total = total; db.Entry(edit).State = EntityState.Modified; } } } getDocOlder.TotalQtyUnit = decimal.Parse(textBoxUnit.Text); getDocOlder.TotalCostOnly = decimal.Parse(textBoxValue.Text); db.Entry(getDocOlder).State = EntityState.Modified; db.SaveChanges(); MessageBox.Show("ยืนยันตรวจนับ 2 เรียบร้อย"); BinddingUI(); } } } }
/// <summary> /// บันทึก รายการ ระหว่างเชค /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click(object sender, EventArgs e) { try { string getDocno = textBoxDocNo.Text.Trim(); using (SSLsEntities db = new SSLsEntities()) { var getDocOlder = db.StoreFrontValueDoc.SingleOrDefault(w => w.DocNo == getDocno && w.Enable == true); if (getDocOlder != null) { if (getDocOlder.ConfirmCheck1Date != null && getDocOlder.ConfirmCheck2Date != null) { MessageBox.Show("ไม่สามารถบันทึกได้ ยืนยันนับ 2 แล้ว"); return; } } } decimal sumUnit = 0; decimal sumCost = 0; List <StoreFrontValueSet> dtl = new List <StoreFrontValueSet>(); StoreFrontValueSet d; for (int i = 0; i < dataGridView1.Rows.Count; i++) { if (dataGridView1.Rows[i].Cells[colCode].Value != null) { d = new StoreFrontValueSet(); int number = int.Parse(dataGridView1.Rows[i].Cells[colNumber].Value.ToString()); string name = dataGridView1.Rows[i].Cells[colName].Value.ToString(); decimal qty = decimal.Parse(dataGridView1.Rows[i].Cells[colQty1].Value.ToString()); decimal qty2 = 0; if (dataGridView1.Rows[i].Cells[colQty2].Value != null) { qty2 = decimal.Parse(dataGridView1.Rows[i].Cells[colQty2].Value.ToString()); } decimal cost = decimal.Parse(dataGridView1.Rows[i].Cells[colCostOnly].Value.ToString()); decimal sellPrice = decimal.Parse(dataGridView1.Rows[i].Cells[colSellPrice].Value.ToString()); decimal total = decimal.Parse(dataGridView1.Rows[i].Cells[colTotal].Value.ToString()); int fkProdtl = int.Parse(dataGridView1.Rows[i].Cells[colProDtl].Value.ToString()); decimal pz = decimal.Parse(dataGridView1.Rows[i].Cells[colPZ].Value.ToString()); d.Enable = true; d.Name = name; d.Number = number; d.CreateDate = DateTime.Now; d.CreateBy = Singleton.SingletonAuthen.Instance().Id; d.UpdateDate = DateTime.Now; d.UpdateBy = Singleton.SingletonAuthen.Instance().Id; d.FKProductDetails = fkProdtl; d.QtyUnit1 = qty; d.QtyUnit2 = qty2; d.SellPricePerUnit = sellPrice; d.CostOnlyPerUnit = cost; d.Total = total; d.Packsize = pz; sumUnit = sumUnit + qty; sumCost = sumCost + total; dtl.Add(d); } } textBoxUnit.Text = Library.ConvertDecimalToStringForm(sumUnit); textBoxValue.Text = Library.ConvertDecimalToStringForm(sumCost); using (SSLsEntities db = new SSLsEntities()) { StoreFrontValueDoc hd = new StoreFrontValueDoc(); hd.Enable = true; hd.Used = true; hd.Description = textBoxDesc.Text; hd.CreateDate = DateTime.Now; hd.CreateBy = Singleton.SingletonAuthen.Instance().Id; hd.UpdateDate = DateTime.Now; hd.UpdateBy = Singleton.SingletonAuthen.Instance().Id; int count = db.StoreFrontValueDoc.Count(); string docno = MyConstant.PrefixForGenerateCode.CheckStoreFront + DateTime.Now.ToString("yyyyMM") + Library.GenerateCodeFormCount(count, 3); hd.DocDate = DateTime.Now; hd.DocNo = docno; hd.TotalQtyUnit = sumUnit; hd.TotalCostOnly = sumCost; hd.SaveNumber = 1; hd.StoreFrontValueSet = dtl; if (getDocno != "") // แปลว่า ไม่แอดใหม่ { var getDocOlder = db.StoreFrontValueDoc.SingleOrDefault(w => w.DocNo == getDocno && w.Enable == true); foreach (var item in getDocOlder.StoreFrontValueSet.Where(w => w.Enable == true).ToList()) { item.UpdateDate = DateTime.Now; item.UpdateBy = Singleton.SingletonAuthen.Instance().Id; item.Description = "ยกเลิกบันทึก " + getDocOlder.SaveNumber; item.Enable = false; db.Entry(item).State = EntityState.Modified; } foreach (var item in dtl) { item.FKDocNo = getDocOlder.DocNo; getDocOlder.StoreFrontValueSet.Add(item); } getDocOlder.Description = textBoxDesc.Text; getDocOlder.SaveNumber = getDocOlder.SaveNumber + 1; getDocOlder.UpdateDate = DateTime.Now; getDocOlder.UpdateBy = Singleton.SingletonAuthen.Instance().Id; getDocOlder.TotalCostOnly = sumCost; getDocOlder.TotalQtyUnit = sumUnit; db.Entry(getDocOlder).State = EntityState.Modified; db.SaveChanges(); MessageBox.Show("บันทึกเรียบร้อย ครั้งที่ " + getDocOlder.SaveNumber); //textBoxDocdate.Text = Library.ConvertDateToThaiDate(hd.CreateDate); //textBoxDocNo.Text = docno; } else { db.StoreFrontValueDoc.Add(hd); db.SaveChanges(); MessageBox.Show("บันทึกเรียบร้อย ครั้งที่ " + hd.SaveNumber); textBoxDocdate.Text = Library.ConvertDateToThaiDate(hd.CreateDate); textBoxDocNo.Text = docno; } BinddingUI(); } } catch (Exception) { MessageBox.Show("พบข้อผิดพลาด"); } }
private void BinddingUI() { string docno = textBoxDocNo.Text.Trim(); using (SSLsEntities db = new SSLsEntities()) { var getDocOlder = db.StoreFrontValueDoc.SingleOrDefault(w => w.DocNo == docno && w.Enable == true); if (getDocOlder != null) { _GetDocNo = getDocOlder; dataGridView1.Rows.Clear(); dataGridView1.Refresh(); // bindding data textBoxDesc.Text = getDocOlder.Description; textBoxDocdate.Text = Library.ConvertDateToThaiDate(getDocOlder.DocDate); textBoxDocNo.Text = getDocOlder.DocNo; textBoxUnit.Text = Library.ConvertDecimalToStringForm(getDocOlder.TotalQtyUnit); textBoxValue.Text = Library.ConvertDecimalToStringForm(getDocOlder.TotalCostOnly); decimal sumCount1 = 0; decimal sumCount2 = 0; decimal sumCoust = 0; decimal sumValue = 0; foreach (var item in getDocOlder.StoreFrontValueSet.Where(w => w.Enable == true).OrderBy(w => w.Number).ToList()) { sumCount1 += item.QtyUnit1; sumCount2 += item.QtyUnit2; sumCoust += (item.CostOnlyPerUnit * item.QtyUnit2); sumValue += (item.SellPricePerUnit * item.QtyUnit2); dataGridView1.Rows.Add ( item.Number, item.ProductDetails.Code, "", Library.ConvertDecimalToStringForm(item.QtyUnit1), Library.ConvertDecimalToStringForm(item.QtyUnit2), item.ProductDetails.Products.ThaiName, item.ProductDetails.ProductUnit.Name, Library.ConvertDecimalToStringForm(item.Packsize), Library.ConvertDecimalToStringForm(item.CostOnlyPerUnit), Library.ConvertDecimalToStringForm(item.SellPricePerUnit), Library.ConvertDecimalToStringForm(item.Total), "หน้าร้าน", item.FKProductDetails ); //Console.WriteLine(Library.ConvertDecimalToStringForm(item.Total)); dataGridView2.Rows.Add ( item.Number, item.ProductDetails.Code, Library.ConvertDecimalToStringForm(item.QtyUnit1), Library.ConvertDecimalToStringForm(item.QtyUnit2), item.ProductDetails.Products.ThaiName, item.ProductDetails.ProductUnit.Name, Library.ConvertDecimalToStringForm(item.Packsize), Library.ConvertDecimalToStringForm(item.CostOnlyPerUnit), Library.ConvertDecimalToStringForm(item.CostOnlyPerUnit * item.QtyUnit2), Library.ConvertDecimalToStringForm(item.SellPricePerUnit), Library.ConvertDecimalToStringForm(item.SellPricePerUnit * item.QtyUnit2), "หน้าร้าน" ); } dataGridView2.Rows.Add ( "", "รวม", Library.ConvertDecimalToStringForm(sumCount1), Library.ConvertDecimalToStringForm(sumCount2), "", "", "", "", Library.ConvertDecimalToStringForm(sumCoust), "", Library.ConvertDecimalToStringForm(sumValue), "" ); _GetDocNo = getDocOlder; if (_GetDocNo.ConfirmCheck1Date == null) { dataGridView1.Columns[colQty1].ReadOnly = false; dataGridView1.Columns[colQty2].ReadOnly = true; label8.Text = "ยังไม่ยืนยันตรวจนับ 1"; label8.Visible = true; } else if (_GetDocNo.ConfirmCheck1Date != null && _GetDocNo.ConfirmCheck2Date == null) { dataGridView1.Columns[colQty1].ReadOnly = true; dataGridView1.Columns[colQty2].ReadOnly = false; dataGridView1.Columns[colCode].ReadOnly = true; label8.Text = "ยืนยันตรวจนับ 1 แล้ว"; label8.Visible = true; } else { dataGridView1.Columns[colCode].ReadOnly = true; dataGridView1.Columns[colQty1].ReadOnly = true; dataGridView1.Columns[colQty2].ReadOnly = true; label8.Text = "ยืนยันตรวจนับ 2 แล้ว"; label8.Visible = true; } } else { label8.Visible = false; MessageBox.Show("ไม่พบเอกสาร"); } } }