BKI_DichVuMatDat.BaoCao.f409_rpt_bang_luong_nv_v2.save_data C# (CSharp) Метод

save_data() приватный Метод

private save_data ( ENUM_CONFIRM_LUU_BANG_LUONG ip_confirm_save ) : void
ip_confirm_save ENUM_CONFIRM_LUU_BANG_LUONG
Результат void
        private void save_data(ENUM_CONFIRM_LUU_BANG_LUONG ip_confirm_save)
        {
            SplashScreenManager.ShowForm(this, typeof(SplashScreen1), true, true, false);
            string v_str_msg = "";
            try
            {
                if(ip_confirm_save == ENUM_CONFIRM_LUU_BANG_LUONG.NONE)
                {
                    XtraMessageBox.Show("Bạn đã hủy thao tác!", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                if(!kiem_tra_du_lieu_nhan_vien_truoc_khi_luu())
                {
                    var v_dc_so_nv_khong_co_trong_csdl = m_lst_nhan_vien_khong_ton_tai.Count;
                    XtraMessageBox.Show("Có " + v_dc_so_nv_khong_co_trong_csdl + " mã nhân viên không có trong phần mềm. Bạn lưu danh sách vào nhé!");
                    xuat_excel_nhan_vien_chua_co_trong_csdl();
                    return;
                }
                //US_RPT_LUONG_V2 v_us_rpt_luong_v2 = new US_RPT_LUONG_V2();
                DTO_BANG_LUONG_V2 v_dto_bang_luong_v2 = new DTO_BANG_LUONG_V2();

                var v_i_row_count = m_grv_main.RowCount;
                if(ip_confirm_save == ENUM_CONFIRM_LUU_BANG_LUONG.NONE)
                {
                    XtraMessageBox.Show("Bảng lương chưa được lưu!", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                if(ip_confirm_save == ENUM_CONFIRM_LUU_BANG_LUONG.TINH_LAI_TOAN_BO)
                {
                    TinhLuongQL.Instance.XoaToanBoBangLuong(lay_thang(), lay_nam());
                }

                int v_i_so_luong_ghi_moi = 0;
                int v_i_so_luong_ghi_de = 0;
                for(int v_i_row = 0; v_i_row < v_i_row_count; v_i_row++)
                {
                    v_dto_bang_luong_v2 = (DTO_BANG_LUONG_V2)m_grv_main.GetRow(v_i_row);
                    //v_us_rpt_luong_v2 = transfer_dto_2_us_object(v_dto_bang_luong_v2);

                    var v_bol_nv_co_trong_bang_luong_chua = TinhLuongQL.Instance.KiemTraNhanVienCoTrongBangLuongChua(v_dto_bang_luong_v2);
                    switch(ip_confirm_save)
                    {
                        case ENUM_CONFIRM_LUU_BANG_LUONG.TINH_LAI_TOAN_BO:
                            TinhLuongQL.Instance.InsertBanGhiLuongNhanVien(v_dto_bang_luong_v2);
                            v_i_so_luong_ghi_moi = v_i_so_luong_ghi_moi + 1;
                            break;
                        case ENUM_CONFIRM_LUU_BANG_LUONG.CHUA_CO_THI_GHI_MOI_DA_CO_THI_KHONG_LAM_GI:
                            if(!v_bol_nv_co_trong_bang_luong_chua)
                            {
                                TinhLuongQL.Instance.InsertBanGhiLuongNhanVien(v_dto_bang_luong_v2);
                                v_i_so_luong_ghi_moi = v_i_so_luong_ghi_moi + 1;
                            }
                            break;
                        case ENUM_CONFIRM_LUU_BANG_LUONG.CHUA_CO_THI_GHI_MOI_DA_CO_THI_GHI_DE:
                            if(!v_bol_nv_co_trong_bang_luong_chua)
                            {
                                TinhLuongQL.Instance.InsertBanGhiLuongNhanVien(v_dto_bang_luong_v2);
                                v_i_so_luong_ghi_moi = v_i_so_luong_ghi_moi + 1;
                            }
                            else
                            {
                                TinhLuongQL.Instance.ReplaceBanGhiLuongNhanVien(v_dto_bang_luong_v2);
                                v_i_so_luong_ghi_de = v_i_so_luong_ghi_de + 1;
                            }
                            break;
                        case ENUM_CONFIRM_LUU_BANG_LUONG.CHUA_CO_THI_KHONG_LAM_GI_DA_CO_THI_GHI_DE:
                            if(v_bol_nv_co_trong_bang_luong_chua)
                            {
                                TinhLuongQL.Instance.ReplaceBanGhiLuongNhanVien(v_dto_bang_luong_v2);
                                v_i_so_luong_ghi_de = v_i_so_luong_ghi_de + 1;
                            }
                            break;
                        default:
                            throw new Exception("Chưa gán giá trị cho ENUM_CONFIRM_LUU_BANG_LUONG!");

                    }
                    //m_prb.EditValue = (int)((decimal)v_i_row / (decimal)v_i_row_count * 100);
                    SplashScreenManager.Default.SendCommand(SplashScreen1.SplashScreenCommand.SetProgress, (int)((decimal)v_i_row / (decimal)v_i_row_count * 100));
                    //progressBarControl1.EditValue = (int)((decimal)v_i_row / (decimal)v_i_row_count * 100);
                }
                v_str_msg = "Lưu dữ liệu lương thành công. Có " + v_i_so_luong_ghi_moi + " bản ghi lương nhân viên mới, có " + v_i_so_luong_ghi_de + " bản ghi lương nhân viên ghi đè!";
            }
            catch(Exception)
            {
                throw;
            }
            finally
            {
                SplashScreenManager.CloseForm(false);
            }

            XtraMessageBox.Show(v_str_msg, "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Information);
            hien_thi_thong_tin_bang_luong();
        }