/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Delete(object sender, DirectEventArgs e) { // delete symbol if (!int.TryParse(hdfKeyRecord.Text, out var id) || id <= 0) { return; } TimeSheetSymbolController.Delete(id); // get all event have that symbol var timeSheetEvents = TimeSheetEventController.GetAll(null, null, null, null, null, id, false, null, null, null, null, null, null, null); // delete time sheet event if (timeSheetEvents != null) { foreach (var timeSheetEvent in timeSheetEvents) { TimeSheetEventController.Delete(timeSheetEvent.Id); } } // reload gridTimeSheetSymbol.Reload(); RM.RegisterClientScriptBlock("Grid_Reload", "ReloadGrid();"); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Delete_Click(object sender, DirectEventArgs e) { if (!string.IsNullOrEmpty(hdfMonth.Text) && !string.IsNullOrEmpty(hdfYear.Text)) { if (!string.IsNullOrEmpty(hdfTimeSheetGroupListId.Text)) { var groupWorkShiftId = Convert.ToInt32(hdfTimeSheetGroupListId.Text); //get all detail workShift var order = " [StartDate] ASC "; var lstWorkShift = TimeSheetWorkShiftController.GetAll(null, false, groupWorkShiftId, null, null, null, null, Convert.ToInt32(hdfMonth.Text), Convert.ToInt32(hdfYear.Text), order, null); var listWorkShiftIds = lstWorkShift.Select(ws => ws.Id).ToList(); if (listWorkShiftIds.Count > 0) { TimeSheetEventController.DeleteByCondition(listWorkShiftIds, null, null, null, TimeSheetAdjustmentType.Default); } //Update status schedule create new timeSheet var scheduler = SchedulerServices.GetSchedulerByName(); if (scheduler != null) { scheduler.Status = SchedulerStatus.Ready; scheduler.Arguments = "-m {0} -y {1} -groupWorkShiftId {2}".FormatWith(hdfMonth.Text, hdfYear.Text, hdfTimeSheetGroupListId.Text); SchedulerServices.Update(scheduler); } } wdWindow.Hide(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnDeleteTime_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(hdfUpdateTimeSheetEventId.Text)) { return; } var id = int.Parse(hdfUpdateTimeSheetEventId.Text); // delete var deletedTimeSheetEvent = TimeSheetEventController.Delete(id); // get symbol group var timeSheetGroupSymbol = TimeSheetGroupSymbolController.GetById(deletedTimeSheetEvent.GroupSymbolId); // update annual leave if (timeSheetGroupSymbol.Group == Constant.TimesheetLeave) { // get annual leave history by record id and event id var annualLeaveHistorys = AnnualLeaveHistoryController.GetAll(null, deletedTimeSheetEvent.RecordId.ToString(), deletedTimeSheetEvent.Id, false, null, 1); if (annualLeaveHistorys != null && annualLeaveHistorys.Count > 0) { // delete annual leave history var annualLeaveHistory = AnnualLeaveHistoryController.Delete(annualLeaveHistorys.First().Id); // get annual leave config by record id and year var annualLeaveConfigures = AnnualLeaveConfigureController.GetAll(null, annualLeaveHistory.RecordId.ToString(), null, annualLeaveHistory.UsedLeaveDate.Year, false, null, 1); if (annualLeaveConfigures != null && annualLeaveConfigures.Count > 0) { // get first item var annualLeaveConfigure = annualLeaveConfigures.First(); // calc used and remain leave day annualLeaveConfigure.UsedLeaveDay -= annualLeaveHistory.UsedLeaveDay; if (annualLeaveConfigure.AnnualLeaveDay > 0) { annualLeaveConfigure.RemainLeaveDay = annualLeaveConfigure.AnnualLeaveDay - annualLeaveConfigure.UsedLeaveDay; } annualLeaveConfigure.EditedBy = CurrentUser.User.UserName; // update annual leave configure AnnualLeaveConfigureController.Update(annualLeaveConfigure); } } } gridUpdateTimeSheet.Reload(); gridTimeSheet.Reload(); } catch (Exception ex) { Dialog.ShowNotification("Có lỗi xảy ra" + ex.Message); } }
/// <summary> /// /// </summary> /// <param name="resultModel"></param> /// <param name="isInsert"></param> /// <returns></returns> private List <TimeSheetEventModel> GetAllEvents(PayrollModel resultModel, bool isInsert) { // get event by record id var startDate = new DateTime(resultModel.Year, resultModel.Month, 1); var endDate = startDate.AddMonths(1).AddDays(-1); string recordIds; //TH insert if (isInsert) { recordIds = string.Join(",", chkEmployeeRowSelection.SelectedRows.Select(rc => Convert.ToInt32(rc.RecordID)).ToList()); } else { recordIds = string.Join(",", SalaryBoardInfoController.GetAll(null, resultModel.Id.ToString(), null, null).ToList() .Select(sb => sb.RecordId)); } //get all events var listEvents = TimeSheetEventController.GetAll(null, recordIds, null, null, null, null, false, null, startDate, endDate, null, null, null, null); return(listEvents); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAccept_Click(object sender, DirectEventArgs e) { try { foreach (var workShift in chkWorkShiftRowSelection.SelectedRows) { foreach (var symbol in chkSelectionModelSymbol.SelectedRows) { var timeSheetSymbol = TimeSheetSymbolController.GetById(int.Parse(symbol.RecordID)); var timeSheetGroupSymbol = TimeSheetGroupSymbolController.GetById(timeSheetSymbol.GroupSymbolId); var timeSheetEvent = new TimeSheetEventModel { RecordId = int.Parse(hdfRecordId.Text), WorkShiftId = int.Parse(workShift.RecordID), SymbolId = timeSheetSymbol.Id, GroupSymbolId = timeSheetSymbol.GroupSymbolId, WorkConvert = timeSheetSymbol.WorkConvert, TimeConvert = timeSheetSymbol.TimeConvert, Type = timeSheetGroupSymbol.Group == Constant.TimesheetOverTime ? TimeSheetAdjustmentType.AdjustmentOverTime : TimeSheetAdjustmentType.Adjustment, Description = timeSheetGroupSymbol.Group == Constant.TimesheetOverTime ? "Thêm giờ" : "Hiệu chỉnh" }; var newTimeSheetEvent = TimeSheetEventController.Create(timeSheetEvent); // update annual leave if (timeSheetGroupSymbol.Group == Constant.TimesheetLeave) { // update annual leave history var annualLeaveHistory = new AnnualLeaveHistoryModel { RecordId = newTimeSheetEvent.RecordId, TimeSheetEventId = newTimeSheetEvent.Id, UsedLeaveDate = newTimeSheetEvent.StartDate, UsedLeaveDay = newTimeSheetEvent.WorkConvert, CreatedBy = CurrentUser.User.UserName }; AnnualLeaveHistoryController.Create(annualLeaveHistory); // get annual leave configure by record id and year var annualLeaveConfigures = AnnualLeaveConfigureController.GetAll(null, annualLeaveHistory.RecordId.ToString(), null, annualLeaveHistory.UsedLeaveDate.Year, false, null, 1); if (annualLeaveConfigures == null || annualLeaveConfigures.Count == 0) { continue; } // get first item in list var annualLeaveConfigure = annualLeaveConfigures.First(); // calc used and remain leave day annualLeaveConfigure.UsedLeaveDay += annualLeaveHistory.UsedLeaveDay; if (annualLeaveConfigure.AnnualLeaveDay > 0) { annualLeaveConfigure.RemainLeaveDay = annualLeaveConfigure.AnnualLeaveDay - annualLeaveConfigure.UsedLeaveDay; } annualLeaveConfigure.EditedBy = CurrentUser.User.UserName; // update annual leave configure AnnualLeaveConfigureController.Update(annualLeaveConfigure); } } } gridTimeSheet.Reload(); gridUpdateTimeSheet.Reload(); } catch (Exception ex) { Dialog.ShowNotification("Có lỗi xảy ra" + ex.Message); } }
protected void Delete(object sender, DirectEventArgs e) { try { // init id var param = e.ExtraParams["Id"]; // parse id if (!int.TryParse(param, out var id) || id <= 0) { // parse error, show error Dialog.ShowError("Có lỗi xảy ra trong quá trình xử lý"); return; } // delete var deletedTimeSheetEvent = TimeSheetEventController.Delete(id); // get symbol group var timeSheetGroupSymbol = TimeSheetGroupSymbolController.GetById(deletedTimeSheetEvent.GroupSymbolId); // update annual leave if (timeSheetGroupSymbol.Group == Constant.TimesheetLeave) { // get annual leave history by record id and event id var annualLeaveHistorys = AnnualLeaveHistoryController.GetAll(null, deletedTimeSheetEvent.RecordId.ToString(), deletedTimeSheetEvent.Id, false, null, 1); if (annualLeaveHistorys != null && annualLeaveHistorys.Count > 0) { // delete annual leave history var annualLeaveHistory = AnnualLeaveHistoryController.Delete(annualLeaveHistorys.First().Id); // get annual leave config by record id and year var annualLeaveConfigures = AnnualLeaveConfigureController.GetAll(null, annualLeaveHistory.RecordId.ToString(), null, annualLeaveHistory.UsedLeaveDate.Year, false, null, 1); if (annualLeaveConfigures != null && annualLeaveConfigures.Count > 0) { // get first item var annualLeaveConfigure = annualLeaveConfigures.First(); // calc used and remain leave day annualLeaveConfigure.UsedLeaveDay -= annualLeaveHistory.UsedLeaveDay; if (annualLeaveConfigure.AnnualLeaveDay > 0) { annualLeaveConfigure.RemainLeaveDay = annualLeaveConfigure.AnnualLeaveDay - annualLeaveConfigure.UsedLeaveDay; } annualLeaveConfigure.EditedBy = CurrentUser.User.UserName; // update annual leave configure AnnualLeaveConfigureController.Update(annualLeaveConfigure); } } } // reload data gridTimeAdjust.Reload(); } catch (Exception exception) { Dialog.ShowError(exception); } }