private void save_data()
{
if(m_grv_cong_tac.RowCount < 1)
{
XtraMessageBox.Show("Chưa có dữ liệu để lưu!", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if(!check_all_is_ok())
{
return;
}
SplashScreenManager.ShowForm(this, typeof(SplashScreen1), true, true, false);
US_GD_CONG_TAC v_us_gd_ct = new US_GD_CONG_TAC();
int v_i_row = 0;
try
{
for(v_i_row = 0; v_i_row < m_grv_cong_tac.RowCount; v_i_row++)
{
v_us_gd_ct.BeginTransaction();
v_us_gd_ct.ClearAllFields();
var data = m_grv_cong_tac.GetDataRow(v_i_row);
grid_to_us_gd_cong_tac(v_us_gd_ct, data);
v_us_gd_ct.Insert();
v_us_gd_ct.CommitTransaction();
SplashScreenManager.Default.SendCommand(SplashScreen1.SplashScreenCommand.SetProgress, (int)((decimal)v_i_row / (decimal)m_grv_cong_tac.RowCount * 100));
}
//Sau do phai cap nhat lai so ho so, chua biet lam
CHRM_BaseMessages.MsgBox_Infor("Đã lưu dữ liệu thành công");
}
catch(Exception)
{
if(v_us_gd_ct.is_having_transaction())
{
v_us_gd_ct.Rollback();
}
if(v_i_row >= 1)
{
throw new Exception("Có lỗi xảy ra. Dữ liệu lưu chưa thành công!\nĐã lưu thành công đến dòng thứ " + v_i_row + " với mã nhân viên " + m_grv_cong_tac.GetRowCellValue(v_i_row - 1, ExcelCongTac.MA_NHAN_VIEN).ToString());
}
else
{
throw new Exception("Có lỗi xảy ra. Dữ liệu lưu chưa được lưu!");
}
throw;
}
finally
{
SplashScreenManager.CloseForm(false);
}
}