using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using ABC.KetNoi;


namespace ABC.Toa
{
    class Class_G
    {
        public static DataTable DT_GOC, DT_MOI, DT_GOC_CHITIET;
        public void get_begin()
        {
           // DataView dtv = new DataView(DuLieu.T_DL_TatCa.Tables[1]);
           // dtv.RowFilter = "Tbl_NhomHang_Ten = '" + DuLieu.Dr_gia["Tbl_NhomHang_Ten"].ToString() + "'";
           // DT_GOC = dtv.ToTable();

           //// DataView dtv0 = new DataView(DuLieu.T_DL_TatCa.Tables[0]);
           // dtv0.RowFilter = "Tbl_NhomHang_Ten = '" + DuLieu.Dr_gia["Tbl_NhomHang_Ten"].ToString() + "'";
           // DT_GOC_CHITIET = dtv0.ToTable();  
        }
        public bool taobang(int stt)
        {
            #region
            DT_MOI = new DataTable();
            DT_MOI.Columns.Add("SL", typeof(double));
            DT_MOI.Columns.Add("SLTRUOC", typeof(double));
            DT_MOI.Columns.Add("GIA", typeof(double));
            DT_MOI.Columns.Add("TT", typeof(double));
            DT_MOI.Columns.Add("DD");
            if (a.Length >= stt)
            {
                for (int i = 0; i < stt; i++)
                {
                    DataRow dtr = DT_MOI.NewRow();
                    dtr["SL"] = a[i];
                    dtr["GIA"] = 0;
                    dtr["SLTRUOC"] = a[i];
                    DT_MOI.Rows.Add(dtr);
                }
                return true;
            }
            else
            {
                msgbox.dialog_OK_info("Số Lượng Quá nhỏ để phân chia " + stt + " giá");
                return false;
            }
            #endregion
        }
        int dung = 0;
        public bool kiemtra_BANG_GIA()
        {
            #region
            dung = 0;
            for (int i = 0; i < DT_MOI.Rows.Count; i++)
            {
                if (DT_MOI.Rows[i]["GIA"].ToString() == "0")
                {
                    msgbox.dialog_OK_info("Vui lòng nhập giá trước");
                    dung = 1;
                    break;
                }
            }
            if (dung == 0)
            {
                return true;
            }
            else
            {
                return false;
            }
            #endregion
        }
        public void tinh()
        {
            for (int i = 0; i < DT_MOI.Rows.Count; i++)
            {
                double thanhtien = double.Parse(DT_MOI.Rows[i]["SL"].ToString()) * double.Parse(DT_MOI.Rows[i]["GIA"].ToString());
                DT_MOI.Rows[i]["TT"] = thanhtien;
                DT_MOI.AcceptChanges();
            }
        }
        public void canbang(double lech)
        {

            double giamax = double.Parse(DT_MOI.Rows[0]["GIA"].ToString());
            double giamin = double.Parse(DT_MOI.Rows[DT_MOI.Rows.Count-1]["GIA"].ToString());
            double gia_lech = giamax - giamin;
            double sl_lech_tam = lech / gia_lech;
            double slmax = double.Parse(DT_MOI.Rows[0]["SL"].ToString());
            double slmin = double.Parse(DT_MOI.Rows[DT_MOI.Rows.Count - 1]["SL"].ToString());
            if (sl_lech_tam < 0)
            {
                sl_lech_tam = sl_lech_tam * -1;
            }
            if (lech > 0)
            {
                DT_MOI.Rows[0]["SL"] = slmax + sl_lech_tam;
                DT_MOI.Rows[DT_MOI.Rows.Count - 1]["SL"] = slmin - sl_lech_tam;
                DT_MOI.AcceptChanges();
                DT_MOI.Rows[0]["SLTRUOC"] = slmax + sl_lech_tam;
                DT_MOI.Rows[DT_MOI.Rows.Count - 1]["SLTRUOC"] = slmin - sl_lech_tam;
                DT_MOI.AcceptChanges();
            }
            else
            {
                DT_MOI.Rows[0]["SL"] = slmax - sl_lech_tam;
                DT_MOI.Rows[DT_MOI.Rows.Count - 1]["SL"] = slmin + sl_lech_tam;

                DT_MOI.Rows[0]["SLTRUOC"] = slmax - sl_lech_tam;
                DT_MOI.Rows[DT_MOI.Rows.Count - 1]["SLTRUOC"] = slmin + sl_lech_tam;
                DT_MOI.AcceptChanges();
            }
            tinh();
        }
        public void congthemsldu()
        {
            for (int i = DT_MOI.Rows.Count; i < a.Length; i++)
            {
                double sltam = double.Parse(DT_MOI.Rows[0]["SL"].ToString()) + a[i];
                DT_MOI.Rows[0]["SL"] = sltam;
                DT_MOI.Rows[0]["SLTRUOC"] = sltam;
                DT_MOI.AcceptChanges();
            }
        }
        double[] a;
        public void chiadeusoluongtheodolon(double sl)
        {
         
             double result = (int)((sl - (int)sl) * 100);
             double phanle = result / 100;
             double slcantinh = sl - phanle;
             int slcuoi = (int)slcantinh;
             a = new double[slcuoi.ToString().Length];
             for (int i = 0; i < slcuoi.ToString().Length; i++)
            {
                string tem = slcuoi.ToString().Substring(i, 1);
                for (int k = 0; k < (slcuoi.ToString().Length - i - 1); k++)
                {
                    tem += "0";
                }
                a[i] = int.Parse(tem);//int.Parse(sl.ToString().Substring(i, sl.ToString().Length - (sl.ToString().Length-i)));
               
            }
             a[a.Length - 1] = a[a.Length - 1] + phanle;
        }
        public void tach_sl(int sl,int stt)
        {
            int[] a = new int[sl.ToString().Length];
            for (int i = 0; i < sl.ToString().Length; i++)
            {
              //  a[i]=sl.ToString().Substring()
            }

        }
        
        public bool ch()
        {
            bool stop = false;
            for (int i = 0; i < DT_MOI.Rows.Count; i++)
            {
                try
                {
                    string SL = DT_MOI.Rows[i]["SL"].ToString();
                    string NHOMCA_ID1 = DT_GOC.Rows[i]["Tbl_NhomHang_ID"].ToString();
                    string GiaUDTRUOC = DT_GOC.Rows[i]["Gia"].ToString();

                }
                catch
                {
                    stop = true;
                    break;
                }
            }
            if (stop == true)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        Class_KetNoi db = new Class_KetNoi();
        public void update()
        {
            if (ch() == true)
            {
               
                //update cac dong chi tiet dau theo dl update
                for (int i = 0; i < DT_MOI.Rows.Count; i++)
                {
                    #region update _Num3 = 1
                    string nguon = DT_GOC_CHITIET.Rows[i]["LoaiDL"].ToString();
                    if (nguon == "Nhập Sĩ")
                    {
                        string sql = "update Tbl_GIAODICH set _Num3 = 0,Toa_SL = '" + DT_MOI.Rows[i]["SL"] + "',Toa_Gia = '" + DT_MOI.Rows[i]["GIA"] + "' where ID = '" + DT_GOC_CHITIET.Rows[i]["ID"].ToString().ToUpper() + "'";
                        db.T_exc(sql);
                    }
                    else
                    {
                        if (nguon == "Nhập Lẽ")
                        {
                            string sql = "update Tbl_GIAODICH_LE set set _Num3 = 0,Toa_SL = '" + DT_MOI.Rows[i]["SL"] + "',Toa_Gia = '" + DT_MOI.Rows[i]["GIA"] + "' where ID = '" + DT_GOC_CHITIET.Rows[i]["ID"].ToString().ToUpper() + "'";

                            db.T_exc(sql);
                        }
                        else
                        {
                            string sql = "update  Tbl_GIAODICH_Them  set _Num3 = 0,Toa_SL = '" + DT_MOI.Rows[i]["SL"] + "',Toa_Gia = '" + DT_MOI.Rows[i]["GIA"] + "' where ID = '" + DT_GOC_CHITIET.Rows[i]["ID"].ToString().ToUpper() + "'";
                            db.T_exc(sql);
                        }
                    }

                    #endregion
                }
                //xoa chi tiet
                for (int i = DT_MOI.Rows.Count; i < DT_GOC_CHITIET.Rows.Count; i++)
                {
                    #region update _Num3 = 1
                    string nguon = DT_GOC_CHITIET.Rows[i]["LoaiDL"].ToString();
                    if (nguon == "Nhập Sĩ")
                    {
                        string sql = "update Tbl_GIAODICH set _Num3 = 1 where ID = '" + DT_GOC_CHITIET.Rows[i]["ID"].ToString().ToUpper() + "'";
                        db.T_exc(sql);
                    }
                    else
                    {
                        if (nguon == "Nhập Lẽ")
                        {
                            string sql = "update Tbl_GIAODICH_LE set _Num3 =1 where ID = '" + DT_GOC_CHITIET.Rows[i]["ID"].ToString().ToUpper() + "'";

                            db.T_exc(sql);
                        }
                        else
                        {
                            string sql = "delete from Tbl_GIAODICH_Them where ID = '" + DT_GOC_CHITIET.Rows[i]["ID"].ToString().ToUpper() + "'";

                            db.T_exc(sql);
                        }
                    }

                    #endregion
                }
            }
            else
            {
                msgbox.dialog_OK_error("không thể cập nhật vì DL đầu vào không thỏa.");
            }

        }
    }
}
