예제 #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();
        }
예제 #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();
        }
예제 #3
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();
 }
예제 #4
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();
        }
예제 #5
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();
        }
예제 #6
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));
        }
예제 #7
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();
        }