/// <summary> /// /// </summary> /// <param name="e"></param> private void Insert(DirectEventArgs e) { DateTime?startTime = null; DateTime?endTime = null; var modelTimeSheet = new TimeSheetCodeModel(null) { CreatedDate = DateTime.Now }; //Edit data EditData(modelTimeSheet, ref startTime, ref endTime); var checkTime = TimeSheetCodeController.GetAll(null, null, null, txtTimeSheetCode.Text, null, true, startTime, endTime, null, null); if (checkTime != null && checkTime.Count > 0) { Dialog.Alert("Mã chấm công đã tồn tại. Vui lòng nhập mã chấm công khác!"); return; } TimeSheetCodeController.Create(modelTimeSheet); if (e.ExtraParams["Close"] == "True") { wdTimeSheetCode.Hide(); ResetForm(); } }
/// <summary> /// /// </summary> private void Update() { if (!string.IsNullOrEmpty(hdfKeyRecord.Text)) { DateTime?startTime = null; DateTime?endTime = null; var modelTimeSheet = TimeSheetCodeController.GetById(Convert.ToInt32(hdfKeyRecord.Text)); var currentTimeSheetCode = string.Empty; if (modelTimeSheet != null) { modelTimeSheet.EditedDate = DateTime.Now; currentTimeSheetCode = modelTimeSheet.Code; //Edit data EditData(modelTimeSheet, ref startTime, ref endTime); } var checkTime = TimeSheetCodeController.GetAll(null, null, null, txtTimeSheetCode.Text, null, true, startTime, endTime, null, null); if (checkTime.IsNullOrEmpty() || currentTimeSheetCode == txtTimeSheetCode.Text) { TimeSheetCodeController.Update(modelTimeSheet); Dialog.Alert("Cập nhật thành công"); } else { Dialog.Alert("Mã chấm công đã tồn tại. Vui lòng nhập mã chấm công khác!"); return; } } }
/// <summary> /// Tạo bảng tính lương /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ChooseSalaryBoardList_Click(Object sender, DirectEventArgs e) { try { if (!string.IsNullOrEmpty(hdfSalaryBoardListID.Text)) { hdfSalaryBoardId.Text = hdfSalaryBoardListID.Text; //Lay danh sach bang luong var boardList = hr_SalaryBoardListServices.GetById(Convert.ToInt32(hdfSalaryBoardListID.Text)); if (boardList != null) { //TH ton tai bang luong roi thi hien thi //TH chua ton tai bang luong thi di tao moi bang luong var salaryBoard = hr_SalaryBoardDynamicServices.GetSalaryBoardDynamicByBoardId(boardList.Id); if (salaryBoard == null) { //Lay danh sach nhan vien cua don vi can tinh bang luong var listRecordId = TimeSheetCodeController.GetAll(null, null, boardList.DepartmentId, null, null, true, null, null, null, null); foreach (var item in listRecordId) { //Tao moi bang tinh luong var salaryBoardDynamic = new hr_SalaryBoardDynamic(); salaryBoardDynamic.SalaryBoardId = boardList.Id; //Lay ID bang cham cong //var timeSheet = hr_TimeSheetReportServices.GetTimeSheetReport(boardList.DepartmentId, // boardList.Month, boardList.Year, hdfType.Text); //if (timeSheet != null) // salaryBoardDynamic.TimeSheetReportId = timeSheet.Id; salaryBoardDynamic.RecordId = item.RecordId; salaryBoardDynamic.CreatedBy = CurrentUser.User.UserName; salaryBoardDynamic.CreatedDate = DateTime.Now; hr_SalaryBoardDynamicServices.Create(salaryBoardDynamic); } } gridSalaryInfo.Reload(); } } } catch (Exception ex) { Dialog.ShowNotification("Có lỗi xảy ra" + ex.Message); } }
/// <summary> /// Read data from excel file and save to db /// </summary> /// <param name="dataTable"></param> /// <param name="currentRow"></param> private void MainProcess(DataTable dataTable, int currentRow) { // Finish import file if (currentRow >= dataTable.Rows.Count) { Dialog.Alert("Success"); gridTimeSheetCode.Reload(); txtSheetName.Clear(); txtFromRow.Clear(); txtToRow.Clear(); return; } count++; var listRecordId = TimeSheetCodeController.GetAll(null, null, null, null, null, true, null, null, null, null); var timeSheetCode = new hr_TimeSheetCode() { StartTime = DateTime.Now, IsActive = true, CreatedDate = DateTime.Now, CreatedBy = CurrentUser.User.DisplayName, }; foreach (DataColumn col in dataTable.Columns) { switch (col.ColumnName) { case nameof(TimeSheetCodeModel.EmployeeCode): var record = RecordController.GetByEmployeeCode(dataTable.Rows[currentRow][col].ToString()); if (record != null) { timeSheetCode.RecordId = record.Id; } break; default: var reg = @"\(([^)]*)\)"; var propVal = dataTable.Rows[currentRow][col]; if (Regex.IsMatch(propVal.ToString(), reg)) { propVal = Regex.Match(propVal.ToString(), reg).Groups[1].Value; } //get the property information based on the type var propInfo = timeSheetCode.GetType().GetProperty(col.ColumnName); //find the property type if (propInfo == null) { continue; } if (!propInfo.CanWrite) { continue; } var propType = propInfo.PropertyType; //equivalent to the specified object. if (propType.IsEnum) { propVal = Enum.ToObject(propType, int.Parse(propVal.ToString())); } if (propType.Name == typeof(Nullable <>).Name) { if (Nullable.GetUnderlyingType(propType) == typeof(DateTime)) { if (!DateTime.TryParseExact(propVal.ToString(), "dd/MM/yyyy", CultureInfo.CurrentCulture, DateTimeStyles.None, out var date)) { break; } propVal = Convert.ChangeType(date, typeof(DateTime)); } else { propVal = Convert.ChangeType(propVal, Nullable.GetUnderlyingType(propType)); } } else { propVal = Convert.ChangeType(propVal, propType); } //Set the value of the property propInfo.SetValue(timeSheetCode, propVal, null); break; } } // Check if RecordId exists in TimeSheetCode table if (!string.IsNullOrEmpty(timeSheetCode.Code)) { // create model var timeSheetCodeMode = new TimeSheetCodeModel(timeSheetCode); if (listRecordId.All(tsc => tsc.RecordId != timeSheetCode.RecordId)) { TimeSheetCodeController.Create(timeSheetCodeMode); ContinueProcess(count); } else { var timeSheetCodeJson = JSON.Serialize(timeSheetCode); hdfTimeSheetCode.Text = timeSheetCodeJson; // Open Messagebox RM.RegisterClientScriptBlock("confirm", "showResult(" + count + ", '" + (string.IsNullOrEmpty(timeSheetCodeMode.EmployeeCode) ? "0" : timeSheetCodeMode.EmployeeCode) + "', '" + (string.IsNullOrEmpty(timeSheetCodeMode.FullName) ? "0" : timeSheetCodeMode.FullName) + "');"); } } }
public void SelectSalaryBoard() { if (!string.IsNullOrEmpty(hdfSalaryBoardListId.Text)) { //Lay danh sach bang luong var boardList = hr_SalaryBoardListServices.GetById(Convert.ToInt32(hdfSalaryBoardListId.Text)); if (boardList != null) { //TH chua ton tai bang luong thi di tao moi bang luong var salaryBoard = SalaryBoardInfoController.GetAllBoardInfo(hdfSalaryBoardListId.Text); if (salaryBoard != null && salaryBoard.Count <= 0) { //Lay danh sach nhan vien cua don vi can tinh bang luong var listRecordId = TimeSheetCodeController.GetAll(null, null, boardList.DepartmentId, null, null, true, null, null, null, null); foreach (var item in listRecordId) { //Tao moi bang tinh luong var salaryInfo = new hr_SalaryBoardInfo() { SalaryBoardId = boardList.Id, RecordId = item.RecordId, CreatedDate = DateTime.Now, }; //Lay tu timeSheet GetDataFromTimeSheet(boardList, salaryInfo); //Lay tu sal_SalaryDecision GetDataFromSalary(item, salaryInfo); hr_SalaryBoardInfoServices.Create(salaryInfo); } } else { if (chk_IsUpdateTimeSheet.Checked) { //Truong hop da co bang luong, thi cap nhat lai du lieu tu cham cong cho moi recordId foreach (var salary in salaryBoard) { var salaryInfo = hr_SalaryBoardInfoServices.GetById(salary.Id); //Lay tu timeSheet GetDataFromTimeSheet(boardList, salaryInfo); //Update hr_SalaryBoardInfoServices.Update(salaryInfo); } } if (chk_IsUpdateSalary.Checked) { //Truong hop da co bang luong, thi cap nhat lai du lieu tu luong cho moi recordId foreach (var salary in salaryBoard) { var salaryInfo = hr_SalaryBoardInfoServices.GetById(salary.Id); //Lay tu sal_SalaryDecision EditDataSalary(salary.RecordId, salaryInfo); //Update hr_SalaryBoardInfoServices.Update(salaryInfo); } } } } Response.Redirect("~/Modules/Salary/SalaryBoardInfo.aspx?id=" + hdfSalaryBoardListId.Text); } }