private void check_logic(int chi_so_hang, int chi_so_cot)
{
// check ma cac ma
if(chi_so_cot > 0 & chi_so_cot < 11)
{
var ten_cot = m_data_table_grv.Columns[chi_so_cot].ColumnName.ToString();
//check ma_nv
if(chi_so_cot == 1)
{
if(!check_ma_ok(m_list_dt_table[chi_so_cot - 1], m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString()))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, "Mã nhân viên không tồn tại "));
}
else
{
if(check_nv_da_co_hop_dong(m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString()))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, " Nhân viên đã có hợp đồng"));
}
}
return;
}
//check ma hop dong
if(chi_so_cot == 2)
{
if(!check_ma_hop_dong(m_list_dt_table[chi_so_cot - 1], m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString()))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, " Mã hợp đồng đã tồn tại"));
}
return;
}
//check cac ma
if(chi_so_cot == 6 | chi_so_cot == 7)
{
if(String.IsNullOrEmpty(m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString()))
{
return;
}
if(!check_ma_ok(m_list_dt_table[chi_so_cot - 1], m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString()))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, " Mã không hợp lệ"));
return;
}
}
if(!check_ma_ok(m_list_dt_table[chi_so_cot - 1], m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString()))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, " Mã không hợp lệ"));
}
}
//check ngay thang
if(chi_so_cot == 12)
{
var loai_hop_dong = m_grv_hop_dong.GetDataRow(chi_so_hang)[3];
if(loai_hop_dong != null)
{
if(!String.IsNullOrEmpty(loai_hop_dong.ToString()))
{
string ma = loai_hop_dong.ToString();
if(check_ma_ok(m_list_dt_table[2], ma))
{
if(!String.IsNullOrEmpty(m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot - 1].ToString()))
{
var nbd = WinFormControls.FormatPostingDate(m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot - 1].ToString());
var nkt = WinFormControls.FormatPostingDate(m_grv_hop_dong.GetDataRow(chi_so_hang)[chi_so_cot].ToString());
if(ma == "HD3N" & ngay_ket_thuc_ko_hop_le(nbd, nkt, 3))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, " Ngày bắt đầu và ngày kết thúc không phù hợp với loại hợp đồng"));
}
if(ma == "HD1N" & ngay_ket_thuc_ko_hop_le(nbd, nkt, 1))
{
m_list_vi_tri_sai.Add(new ViTriTrenLuoi(chi_so_hang, chi_so_cot, " Ngày bắt đầu và ngày kết thúc không phù hợp với loại hợp đồng"));
}
}
}
}
}
}
}