/// <summary> /// New event one employee /// </summary> /// <param name="timeSheetEvent"></param> /// <param name="timeSymbol"></param> private void CreateNewTimeSheetEvent(hr_TimeSheetEvent timeSheetEvent, cat_TimeSheetSymbol timeSymbol) { try { //create new event timeSheetEvent.StatusId = EventStatus.Active; timeSheetEvent.WorkConvert = timeSymbol.WorkConvert; timeSheetEvent.Symbol = timeSymbol.Code; timeSheetEvent.Description = timeSymbol.Name; timeSheetEvent.TypeGroup = timeSymbol.Group; hr_TimeSheetEventServices.Create(timeSheetEvent); var timeSheet = hr_TimeSheetServices.GetById(timeSheetEvent.TimeSheetId); if (timeSymbol.Group == ConstLeave) { //create history var useDate = new DateTime(Convert.ToInt32(hdfYear.Text), Convert.ToInt32(hdfMonth.Text), Convert.ToInt32(hdfDay.Text)); var annual = new hr_AnnualLeaveHistory() { RecordId = Convert.ToInt32(hdfRecordId.Text), TimeSheetEventId = timeSheetEvent.Id, UsedLeaveDate = useDate, UsedLeaveDay = timeSymbol.WorkConvert, CreatedDate = DateTime.Now, CreatedBy = CurrentUser.User.UserName, }; hr_AnnualLeaveHistoryServices.Create(annual); //Update UpdateAnnualLeaveConfig(timeSheet, annual); } //Adjust timesheet if (!string.IsNullOrEmpty(hdfTimeSheetCode.Text) && !string.IsNullOrEmpty(hdfDay.Text)) { var timeAdjust = new hr_TimeSheetAdjustment() { RecordId = Convert.ToInt32(hdfRecordId.Text), TimeSheetCode = hdfTimeSheetCode.Text, TimeSheetEventIds = timeSheetEvent.Id.ToString(), TimeSheetReportId = timeSheet.TimeSheetReportId, Day = Convert.ToInt32(hdfDay.Text), Month = hdfMonth.Text != null?Convert.ToInt32(hdfMonth.Text) : 0, Year = hdfYear.Text != null?Convert.ToInt32(hdfYear.Text) : DateTime.Now.Year, Reason = timeSymbol.Name, CreatedDate = DateTime.Now, CreatedBy = CurrentUser.User.UserName, }; hr_TimeSheetAdjustmentServices.Create(timeAdjust); } } catch (Exception e) { Dialog.ShowNotification("Có lỗi xảy ra" + e.Message); } }
private void CreateAnnualLeave(cat_TimeSheetSymbol timeSymbol, int recordId, int timeSheetEventId) { try { var useDate = new DateTime(startDate.SelectedDate.Year, startDate.SelectedDate.Month, startDate.SelectedDate.Day); var annual = new hr_AnnualLeaveHistory() { RecordId = recordId, TimeSheetEventId = timeSheetEventId, UsedLeaveDate = useDate, UsedLeaveDay = timeSymbol.WorkConvert, CreatedDate = DateTime.Now, CreatedBy = CurrentUser.User.UserName, }; hr_AnnualLeaveHistoryServices.Create(annual); //update UpdateAnnualLeaveConfig(recordId, annual); } catch (Exception e) { Console.WriteLine(e); throw; } }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <returns></returns> public static AnnualLeaveHistoryModel Create(AnnualLeaveHistoryModel model) { var entity = new hr_AnnualLeaveHistory(); model.FillEntity(ref entity); return(new AnnualLeaveHistoryModel(hr_AnnualLeaveHistoryServices.Create(entity))); }
/// <summary> /// New event one employee /// </summary> /// <param name="timeSheetEvent"></param> /// <param name="timeSymbol"></param> private void CreateNewTimeSheetEvent(hr_TimeSheetEvent timeSheetEvent, cat_TimeSheetSymbol timeSymbol) { try { timeSheetEvent.WorkConvert = timeSymbol.WorkConvert; timeSheetEvent.Symbol = timeSymbol.Code; timeSheetEvent.Description = timeSymbol.Name; timeSheetEvent.TypeGroup = timeSymbol.Group; hr_TimeSheetEventServices.Create(timeSheetEvent); if (timeSymbol.Group == ConstLeave) { //create history var useDate = new DateTime(Convert.ToInt32(hdfYear.Text), Convert.ToInt32(hdfMonth.Text), Convert.ToInt32(hdfDay.Text)); var annual = new hr_AnnualLeaveHistory() { RecordId = Convert.ToInt32(hdfRecordId.Text), UsedLeaveDate = useDate, UsedLeaveDay = timeSymbol.WorkConvert, CreatedDate = DateTime.Now, CreatedBy = CurrentUser.User.UserName, }; hr_AnnualLeaveHistoryServices.Create(annual); //update nguoc lai bang phep var leaveConfig = hr_AnnualLeaveConfigureServices.GetAnnualLeaveConfigByRecordId( Convert.ToInt32(hdfRecordId.Text), Convert.ToInt32(hdfYear.Text)); if (leaveConfig != null) { leaveConfig.UsedLeaveDay = annual.UsedLeaveDay + leaveConfig.UsedLeaveDay; if (leaveConfig.AnnualLeaveDay > 0) { leaveConfig.RemainLeaveDay = leaveConfig.AnnualLeaveDay - leaveConfig.UsedLeaveDay; } leaveConfig.EditedDate = DateTime.Now; leaveConfig.EditedBy = CurrentUser.User.UserName; } hr_AnnualLeaveConfigureServices.Update(leaveConfig); } } catch (Exception e) { Dialog.ShowNotification("Có lỗi xảy ra" + e.Message); } }
/// <summary> /// Cập nhật ngày phép /// </summary> /// <param name="recordId"></param> /// <param name="annual"></param> private void UpdateAnnualLeaveConfig(int recordId, hr_AnnualLeaveHistory annual) { //update nguoc lai bang phep var leaveConfig = hr_AnnualLeaveConfigureServices.GetAnnualLeaveConfigByRecordId(recordId, annual.UsedLeaveDate.Year); if (leaveConfig != null) { leaveConfig.UsedLeaveDay = annual.UsedLeaveDay + leaveConfig.UsedLeaveDay; if (leaveConfig.AnnualLeaveDay > 0) { leaveConfig.RemainLeaveDay = leaveConfig.AnnualLeaveDay - leaveConfig.UsedLeaveDay; } leaveConfig.EditedDate = DateTime.Now; leaveConfig.EditedBy = CurrentUser.User.UserName; } hr_AnnualLeaveConfigureServices.Update(leaveConfig); }