/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAccept_Click(object sender, DirectEventArgs e) { if (string.IsNullOrEmpty(hdfEditList.Text)) { return; } // get column values var salaryBoardDynamicColumns = JSON.Deserialize <List <SalaryBoardDynamicColumnModel> >(hdfEditList.Text); // get insert list var updateList = salaryBoardDynamicColumns.Where(r => r.Id > 0).ToList(); // get update list var insertList = salaryBoardDynamicColumns.Where(r => r.Id <= 0).ToList(); // update value for (var i = 0; i < updateList.Count; i++) { SalaryBoardDynamicColumnController.Update(updateList[i]); } // insert value for (var i = insertList.Count - 1; i >= 0; i--) { SalaryBoardDynamicColumnController.Create(insertList[i]); } // reload hdfEditList.Reset(); grpPayrollDetail.Store.Primary.CommitChanges(); grpPayrollDetail.Reload(); btnAcceptChange.Hidden = true; btnCancelChange.Hidden = true; }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void BtnUpdate_Click(object sender, DirectEventArgs e) { try { if (string.IsNullOrEmpty(hdfId.Text)) { return; } var colDynamic = SalaryBoardDynamicColumnController.GetById(Convert.ToInt32(hdfId.Text)); if (colDynamic != null) { colDynamic.ColumnExcel = txtUpdateColumnExcel.Text; colDynamic.Value = txtUpdateValue.Text; colDynamic.IsInUsed = chk_IsInUsedUpdate.Checked; colDynamic.Display = txtUpdateDisplay.Text; colDynamic.ColumnCode = txtUpdateColumnCode.Text; } ; SalaryBoardDynamicColumnController.Update(colDynamic); wdUpdateColumnDynamic.Hide(); gridColumnDynamic.Reload(); ResetFormUpdate(); } catch (Exception ex) { ExtNet.Msg.Alert("Thông báo từ hệ thống", "Có lỗi xảy ra: " + ex.Message).Show(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnUpdateImportExcel_Click(object sender, DirectEventArgs e) { var workbook = new WorkBook(); // upload file if (fileExcel.HasFile) { var path = UploadFile(fileExcel, Constant.PathTemplate); if (path != null) { // Read data from excel workbook.readXLSX(Path.Combine(Server.MapPath("~/"), Constant.PathTemplate, path)); // Export to datatable var dataTable = workbook.ExportDataTable(0, //first row 0, //first col workbook.LastRow + 1, //last row workbook.LastCol + 1, //last col true, //first row as header false //convert to DateTime object if it match date pattern ); // get config by ID var salaryBoardConfig = SalaryBoardConfigController.GetAll(int.Parse(hdfConfigId.Text), null, null, null, SalaryConfigDataType.DynamicValue, null, null); foreach (DataRow row in dataTable.Rows) { // get employee code var employeeCode = row[EmployeeCode].ToString(); if (string.IsNullOrEmpty(employeeCode)) { continue; } // get record by employee code var record = RecordController.GetByEmployeeCode(employeeCode); foreach (DataColumn col in dataTable.Columns) { foreach (var item in salaryBoardConfig) { // check column name exists if (item.Display != col.ColumnName) { continue; } // check empty string var value = Convert.ToString(row[col], CultureInfo.InvariantCulture); if (string.IsNullOrEmpty(value)) { continue; } // check if dynamic column value exists var salaryBoardDynamicColumn = SalaryBoardDynamicColumnController.GetAll(null, record.Id.ToString(), int.Parse(hdfPayrollId.Text), item.ColumnCode, true, null, null); if (salaryBoardDynamicColumn.Count > 0) { // update dynamic column value salaryBoardDynamicColumn.First().Value = value; SalaryBoardDynamicColumnController.Update(salaryBoardDynamicColumn.First()); } else { // create dynamic column value var salaryBoardConfigColumn = new SalaryBoardDynamicColumnModel() { RecordId = record.Id, SalaryBoardId = int.Parse(hdfPayrollId.Text), ColumnCode = item.ColumnCode, Value = value, Display = item.Display }; SalaryBoardDynamicColumnController.Create(salaryBoardConfigColumn); } } } } } } else { Dialog.Alert("Bạn chưa chọn tệp tin đính kèm. Vui lòng chọn."); return; } Dialog.Alert("Cập nhật thành công"); grpPayrollDetail.Reload(); }