Ejemplo n.º 1
0
        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;
                    //}
                }
            }
        }
Ejemplo n.º 2
0
        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();
                    }
                }
            }
        }
Ejemplo n.º 3
0
        /// <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("พบข้อผิดพลาด");
            }
        }
Ejemplo n.º 4
0
        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("ไม่พบเอกสาร");
                }
            }
        }