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; //} }
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; //} }