/// <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 BtnUpdateHL_Click(object sender, DirectEventArgs e) { try { foreach (var itemRow in chkEmployeeRowSelection.SelectedRows) { var colDynamic = new SalaryBoardDynamicColumnModel { RecordId = Convert.ToInt32(itemRow.RecordID), ColumnCode = cbxColumnCode.Text, Display = txtDisplay.Text, ColumnExcel = txtColumnExcel.Text, Value = txtValue.Text, CreatedDate = DateTime.Now, SalaryBoardId = int.Parse(hdfSalaryBoardListID.Text) }; //create SalaryBoardDynamicColumnController.Create(colDynamic); } //reload wdColumnDynamic.Hide(); gridColumnDynamic.Reload(); } catch (Exception ex) { Dialog.Alert("Thông báo từ hệ thống", "Có lỗi xảy ra: " + ex.Message); } }
/// <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(); }