public void CT_BCDT_NAM_Update(CT_BCDT_NAM_Info ctn)
 {
     SqlConnection con = SqlDataProvider.GetConnection();
     con.Open();
     SqlCommand cmd = new SqlCommand("sp_CT_BCDT_NAM_Update", con);
     cmd.CommandType = CommandType.StoredProcedure;
     cmd.Parameters.Add(new SqlParameter("@Thang", ctn.Thang));
     cmd.Parameters.Add(new SqlParameter("@Nam", ctn.Nam));
     cmd.Parameters.Add(new SqlParameter("@SoChuyenBay", ctn.SoChuyenBay));
     cmd.Parameters.Add(new SqlParameter("@DoanhThu", ctn.DoanhThu));
     cmd.Parameters.Add(new SqlParameter("@TiLe", ctn.TiLe));
     cmd.ExecuteNonQuery();
     con.Close();
 }
 private void btnlapbaocao_Click(object sender, EventArgs e)
 {
     try
     {
         int tongdoanhthu = 0;
         if (int.Parse(cbxnam.Text) > 0)
         {
             if (QLBanVeChuyenBay_Service.BAOCAODOANHTHUNAM_GetById(int.Parse(cbxnam.Text)).Rows.Count <= 0)
             {
                 for (int i = 0; i < dt1.Rows.Count; i++)
                 {
                     DateTime t = DateTime.Parse(dt1.Rows[i][2].ToString());
                     if (t.Year == int.Parse(cbxnam.Text))
                     {
                         DataTable temp1 = QLBanVeChuyenBay_Service.CT_PHIEUDATCHO_GetById1(dt1.Rows[i][0].ToString());
                         for (int j = 0; j < temp1.Rows.Count; j++)
                         {
                             if (temp1.Rows[j][7].ToString() == "1")
                             {
                                 tongdoanhthu += int.Parse(temp1.Rows[j][6].ToString());
                             }
                         }
                     }
                 }
                 try
                 {
                     BAOCAODOANHTHUNAM_Info bcdt = new BAOCAODOANHTHUNAM_Info();
                     bcdt.Nam = int.Parse(cbxnam.Text);
                     bcdt.TongDoanhThu = tongdoanhthu;
                     QLBanVeChuyenBay_Service.BAOCAODOANHTHUNAM_Insert(bcdt);
                 }
                 catch (Exception) { }
             }
             dgvbaocaonam.Rows.Clear();
             for (int i = 0; i < dt1.Rows.Count; i++)
             {
                 DateTime t = DateTime.Parse(dt1.Rows[i][2].ToString());
                 if (t.Year == int.Parse(cbxnam.Text))
                 {
                     int check = 0;
                     for (int j = 0; j < dgvbaocaonam.RowCount; j++)
                     {
                         if (dgvbaocaonam[1, j].Value.ToString() == t.Month.ToString())
                         {
                             check = 1;
                             break;
                         }
                     }
                     if(check == 0)
                     {
                         int sochuyen = 0;
                         int doanhthu = 0;
                         float tile = 0;
                         for (int k = 0; k < dt1.Rows.Count; k++)
                         {
                             DateTime t1 = DateTime.Parse(dt1.Rows[k][2].ToString());
                             if(t1.Year == int.Parse(cbxnam.Text) && t1.Month == t.Month)
                             {
                                 sochuyen++;
                                 DataTable temp2 = QLBanVeChuyenBay_Service.CT_PHIEUDATCHO_GetById1(dt1.Rows[k][0].ToString());
                                 for (int l = 0; l < temp2.Rows.Count; l++)
                                 {
                                     if (temp2.Rows[l][7].ToString() == "1")
                                     {
                                         doanhthu += int.Parse(temp2.Rows[l][6].ToString());
                                     }
                                 }
                             }
                         }
                         tongdoanhthu = int.Parse(QLBanVeChuyenBay_Service.BAOCAODOANHTHUNAM_GetById(t.Year).Rows[0][1].ToString());
                         if(tongdoanhthu > 0)
                         {
                             tile = (float)doanhthu / tongdoanhthu;
                         }
                         else
                         {
                             tile = 0;
                         }
                         dgvbaocaonam.Rows.Add(i + 1, t.Month, sochuyen, doanhthu, String.Format("{0:0.00}", tile*100));
                     }
                 }
             }
             for (int i = 0; i < dgvbaocaonam.RowCount; i++)
             {
                 CT_BCDT_NAM_Info ctbcn = new CT_BCDT_NAM_Info();
                 ctbcn.Nam = int.Parse(cbxnam.Text);
                 ctbcn.Thang = int.Parse(dgvbaocaonam[1, i].Value.ToString());
                 ctbcn.SoChuyenBay = int.Parse(dgvbaocaonam[2, i].Value.ToString());
                 ctbcn.DoanhThu = int.Parse(dgvbaocaonam[3, i].Value.ToString());
                 ctbcn.TiLe = float.Parse(dgvbaocaonam[4, i].Value.ToString())/100;
                 try
                 {
                     QLBanVeChuyenBay_Service.CT_BCDT_NAM_Insert(ctbcn);
                 }
                 catch (Exception) { }
             }
             if(dgvbaocaonam.RowCount <= 0)
             {
                 MessageBox.Show("Chưa có số liệu nào trong năm này!", "Thông báo");
             }
         }
         else
         {
             MessageBox.Show("Bạn đã nhập giá trị sai, vui lòng nhập lại.", "Thông báo");
         }
     }
     catch (Exception)
     {
         MessageBox.Show("Bạn đã nhập giá trị sai, vui lòng nhập lại.", "Thông báo");
     }
 }