Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
 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();
 }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        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();
        }
Esempio n. 9
0
        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));
        }
Esempio n. 10
0
        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();
        }
Esempio n. 11
0
        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);
        }