/// <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)); // Check validation workbook if (CheckValidation(workbook, out _, out _, txtFromRow, txtToRow, txtSheetName) == false) { return; } // 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 ); var interview = InterviewController.GetById(Convert.ToInt32(hdfId.Text)); var interviewDate = new DateTime(); if (interview != null) { interviewDate = interview.InterviewDate; } 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 candidate = CandidateController.GetByCode(employeeCode, CandidateType.Interview); //check if value exists var candidateInterviewModel = CandidateInterviewController.GetUnique(Convert.ToInt32(hdfId.Text), candidate.RecordId); if (candidateInterviewModel != null) { //update value EditDataToModel(dataTable, row, candidateInterviewModel, interviewDate); candidateInterviewModel.EditedBy = CurrentUser.User.UserName; candidateInterviewModel.EditedDate = DateTime.Now; CandidateInterviewController.Update(candidateInterviewModel); } else { var model = new CandidateInterviewModel() { RecordId = candidate.RecordId, InterviewId = Convert.ToInt32(hdfId.Text), EditedBy = CurrentUser.User.UserName, EditedDate = DateTime.Now, CreatedBy = CurrentUser.User.UserName, CreatedDate = DateTime.Now }; EditDataToModel(dataTable, row, model, interviewDate); //create CandidateInterviewController.Create(model); } } } } 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"); //Reset form excel fileExcel.Reset(); txtSheetName.Reset(); //close window wdImportExcelFile.Hide(); }