/// <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="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); } }