Example #1
0
        /// <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();
        }