예제 #1
0
        public double GetAvaiablesHoursByWorkerOnDate(Worker worker, DateTime date)
        {
            ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic();

            IList <ActivityWorker> list = activityWorkerBusinessLogic.GetAll().Where(o => o.Worker == worker && o.Activity.Date == date).ToList();

            double workedHours = list.Sum(o => o.Hours);

            double avaiableHours = MaxWorkHoursByDay() - workedHours;

            return(avaiableHours);
        }
예제 #2
0
        public override void Delete(Worker obj)
        {
            ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic();
            ActivityBusinessLogic       activityBusinessLogic       = new ActivityBusinessLogic();

            var listWorked = activityWorkerBusinessLogic.GetAll().Where(o => o.Worker == obj).ToList();

            foreach (var item in listWorked)
            {
                activityBusinessLogic.DetachWoker(item.Activity, item.Worker);
            }

            this.baseDataAccessLayer.Delete(obj);
        }
예제 #3
0
        public IList <Worker> GetByMajorWorkedHours(out double hours)
        {
            IList <Worker> list = null;

            ActivityWorkerBusinessLogic activityWorkerBusinessLogic = new ActivityWorkerBusinessLogic();
            IList <ActivityWorker>      listActivityWorkers         = activityWorkerBusinessLogic.GetAll();

            double d = listActivityWorkers.Max(aw => aw.Hours);

            listActivityWorkers = listActivityWorkers.Where(aw => aw.Hours == d).ToList();

            list  = listActivityWorkers.Select(aw => aw.Worker).Distinct().ToList();
            hours = d;
            return(list);
        }