public void Add(HourlyLeave hourlyLeave) { WorkflowManager wm = new WorkflowManager(_UOW); hourlyLeave.WorkflowStageID = wm.GetByType("Manager").ID; hourlyLeave.PreviousStage = wm.FirstStage().ID; hourlyLeave.ID = Guid.NewGuid(); hourlyLeave.LeaveDate = DateUtility.GetMiladiDate(hourlyLeave.PersianLeaveDate); hourlyLeave.From = DateUtility.ConvertStringTimeToDateTime(hourlyLeave.LeaveDate, hourlyLeave.PersianTimeFrom); hourlyLeave.To = DateUtility.ConvertStringTimeToDateTime(hourlyLeave.LeaveDate, hourlyLeave.PersianTimeTo); hourlyLeave.RegisterDate = DateTime.Now; if (hourlyLeave.From >= hourlyLeave.To) { throw new Exception("پایان باید بزرگتر از شروع باشد"); } if (!_UOW.HourlyLeavesRepository.CheckDontHasLeaveOnDuration(hourlyLeave.UserId, hourlyLeave.From, hourlyLeave.To)) { throw new Exception("در این بازه، مرخصی ساعتی ثبت شده است"); } _UOW.HourlyLeavesRepository.Add(hourlyLeave); _UOW.SaveChanges(); }
public void Add(HourlyMission hourlyMission) { WorkflowManager wm = new WorkflowManager(_UOW); hourlyMission.WorkflowStageID = wm.GetByType("Manager").ID; hourlyMission.PreviousStage = wm.FirstStage().ID; hourlyMission.ID = Guid.NewGuid(); hourlyMission.Date = DateUtility.GetMiladiDate(hourlyMission.PersianMissionDate); hourlyMission.From = DateUtility.ConvertStringTimeToDateTime(hourlyMission.Date, hourlyMission.PersianTimeFrom); hourlyMission.To = DateUtility.ConvertStringTimeToDateTime(hourlyMission.Date, hourlyMission.PersianTimeTo); hourlyMission.Minutes = DateUtility.SubtarctToANdFromDateTimeToInt(hourlyMission.From, hourlyMission.To); hourlyMission.RegisterDate = DateTime.Now; if (hourlyMission.From >= hourlyMission.To) { throw new Exception("پایان باید بزرگتر از شروع باشد"); } if (!_UOW.HourlyMissionRepository.CheckDontHasLeaveOnDuration(hourlyMission.UserID, hourlyMission.From, hourlyMission.To)) { throw new Exception("در این بازه، ماموریت ساعتی ثبت شده است"); } _UOW.HourlyMissionRepository.Add(hourlyMission); _UOW.SaveChanges(); }
public void Deny(DailyLeave dailyLeave) { StageController stageController = new StageController(_UOW); dailyLeave.PersianDateFrom = DateUtility.GetPersianDate(DateTime.Now); dailyLeave.PersianDateTo = DateUtility.GetPersianDate(DateTime.Now); stageController.SetToOrder(dailyLeave, 1); _UOW.DailyLeaveRepository.Edit(dailyLeave); }
public void Deny(HourlyMission hourlyMission) { hourlyMission.PersianMissionDate = DateUtility.GetPersianDate(DateTime.Now); hourlyMission.PersianTimeFrom = DateUtility.GetPersianDate(DateTime.Now); hourlyMission.PersianTimeTo = DateUtility.GetPersianDate(DateTime.Now); StageController stageController = new StageController(_UOW); stageController.SetToOrder(hourlyMission, 1); _UOW.HourlyMissionRepository.Edit(hourlyMission); }
public void Approve(HourlyLeave hourlyLeave) { hourlyLeave.PersianLeaveDate = DateUtility.GetPersianDate(DateTime.Now); hourlyLeave.PersianTimeFrom = DateUtility.GetPersianDate(DateTime.Now); hourlyLeave.PersianTimeTo = DateUtility.GetPersianDate(DateTime.Now); StageController stageController = new StageController(_UOW); stageController.SetToOrder(hourlyLeave, 4); _UOW.HourlyLeavesRepository.Edit(hourlyLeave); }
public void Add(DailyLeave dailyLeave) { dailyLeave.ID = Guid.NewGuid(); dailyLeave.WorkflowStageID = new WorkflowManager(_UOW).GetByOrder(3).ID; dailyLeave.PreviousStage = new WorkflowManager(_UOW).FirstStage().ID; dailyLeave.From = DateUtility.GetMiladiDate(dailyLeave.PersianDateFrom); dailyLeave.To = DateUtility.GetMiladiDate(dailyLeave.PersianDateTo); dailyLeave.RegisterDate = DateTime.Now; _UOW.DailyLeaveRepository.Add(dailyLeave); _UOW.SaveChanges(); }
public void Add(HourlyLeave hourlyLeave) { WorkflowManager wm = new WorkflowManager(_UOW); hourlyLeave.WorkflowStageID = wm.GetByOrder(3).ID; hourlyLeave.PreviousStage = wm.FirstStage().ID; hourlyLeave.ID = Guid.NewGuid(); hourlyLeave.LeaveDate = DateUtility.GetMiladiDate(hourlyLeave.PersianLeaveDate); hourlyLeave.From = DateUtility.ConvertStringTimeToDateTime(hourlyLeave.PersianTimeFrom); hourlyLeave.To = DateUtility.ConvertStringTimeToDateTime(hourlyLeave.PersianTimeTo); hourlyLeave.RegisterDate = DateTime.Now; _UOW.HourlyLeavesRepository.Add(hourlyLeave); _UOW.SaveChanges(); }
public void Add(HourlyMission hourlyMission) { WorkflowManager wm = new WorkflowManager(_UOW); hourlyMission.WorkflowStageID = wm.GetByOrder(3).ID; hourlyMission.PreviousStage = wm.FirstStage().ID; hourlyMission.ID = Guid.NewGuid(); hourlyMission.Date = DateUtility.GetMiladiDate(hourlyMission.PersianMissionDate); hourlyMission.From = DateUtility.ConvertStringTimeToDateTime(hourlyMission.PersianTimeFrom); hourlyMission.To = DateUtility.ConvertStringTimeToDateTime(hourlyMission.PersianTimeTo); hourlyMission.Hours = DateUtility.SubtarctToANdFromDateTimeToDouble(hourlyMission.From, hourlyMission.To); hourlyMission.RegisterDate = DateTime.Now; _UOW.HourlyMissionRepository.Add(hourlyMission); _UOW.SaveChanges(); }
public IEnumerable <WorkHour> GetWorkHoursByUser(Guid userId, DateTime date) { var month = DateUtility.GetPersianManth(date); var year = DateUtility.GetPersianYear(date); var from = DateUtility.GetMiladiDate(year.ToString() + "/" + month + "/" + "1"); var to = DateTime.MinValue; if (Convert.ToInt16(month) > 6) { to = DateUtility.GetMiladiDate(year.ToString() + "/" + month + "/" + "30"); } else { to = DateUtility.GetMiladiDate(year.ToString() + "/" + month + "/" + "31"); } return(_UOW.WorkHourRepository.GetByEpmloyeeID(userId, from, to, null)); }
public void Add(DailyLeave dailyLeave) { dailyLeave.ID = Guid.NewGuid(); dailyLeave.WorkflowStageID = new WorkflowManager(_UOW).GetByType("Manager").ID; dailyLeave.PreviousStage = new WorkflowManager(_UOW).FirstStage().ID; dailyLeave.From = DateUtility.GetMiladiDate(dailyLeave.PersianDateFrom); dailyLeave.To = DateUtility.GetMiladiDate(dailyLeave.PersianDateTo); dailyLeave.RegisterDate = DateTime.Now; if (dailyLeave.From > dailyLeave.To) { throw new Exception("تاریخ شروع نمی تواند بزرگتر از پایان باشد"); } if (!_UOW.DailyLeaveRepository.CheckDontHasLeaveOnDuration(dailyLeave.UserID, dailyLeave.From, dailyLeave.To)) { throw new Exception("در این بازه، مرخصی روزانه ثبت شده است"); } _UOW.DailyLeaveRepository.Add(dailyLeave); _UOW.SaveChanges(); }
public List <string> ValidateSendrWorkHour(WorkHour workHour, bool isOpen, bool mustHaveHozoor, int registeredWorkhourMinuteThisDate, int?hozoor) { List <string> result = new List <string>(); if (workHour == null) { result.Add("کارکرد خالی میباشد"); } if (workHour.Date == DateTime.MinValue) { result.Add("تاریخ کارکرد خالی میباشد"); } if (result.Count > 0) { return(result); } if (!isOpen) { result.Add($"تایم شیت در این تاریخ {DateUtility.GetPersianDate(workHour.Date)} بسته است. امکان تغییر نمی باشد"); } else { if (mustHaveHozoor) { if (!hozoor.HasValue && hozoor == 0) { result.Add($"در این تاریخ {DateUtility.GetPersianDate(workHour.Date)} حضور یافت نشد. امکان ارسال کارکرد نمی باشد"); } if (hozoor.HasValue && registeredWorkhourMinuteThisDate > hozoor) { result.Add("کارکرد بیش از حضور. امکان ارسال کارکرد نمی باشد"); } } } if (result.Count > 0) { return(result); } if (workHour.Minutes <= 0) { result.Add("ساعت کارکرد خالی میباشد"); } if (workHour.EmployeeID == Guid.Empty) { result.Add("کاربر خالی میباشد"); } if (workHour.WorkflowStageID == Guid.Empty) { result.Add("مرحله کارکرد خالی میباشد"); } if (workHour.TaskID == Guid.Empty) { result.Add("وظیفه کارکرد خالی میباشد"); } if (workHour.ProjectId == Guid.Empty) { result.Add("پروژه کارکرد خالی میباشد"); } return(result); }