Esempio n. 1
0
        // shows ordered list of workers
        public ActionResult Workplace(int id)
        {
            WorkplaceStatistic   someWorkplaceStat = new WorkplaceStatistic(db, db.WorkPlaces.Find(id));
            WorkplacesOperations workplaceOp       = new WorkplacesOperations(db);

            someWorkplaceStat = workplaceOp.GetWorkplacesStatistic(id, false);
            workplaceOp.FillWorkersStatistic(someWorkplaceStat);
            return(View(someWorkplaceStat));
        }
Esempio n. 2
0
        public void FillWorkersStatistic(WorkplaceStatistic someWorkPlaceStat)
        {
            someWorkPlaceStat.WorkersStatistics.Clear();
            WorkerOperations workerOp = new WorkerOperations(db);

            foreach (Worker item in someWorkPlaceStat.WorkPlace.Workers)
            {
                WorkerStatistic someWorkerStat = workerOp.FillWorkerStatistic(item);
                someWorkPlaceStat.WorkersStatistics.Add(someWorkerStat);
            }
        }
Esempio n. 3
0
        // for charts
        public string RenderWorkersStatistic(WorkplaceStatistic someWorkplaceStat)
        {
            string result = "[ ";

            foreach (WorkerStatistic item in someWorkplaceStat.WorkersStatistics.OrderByDescending(m => m.SummaryIndex))
            {
                result += "{ \"label\": \"" + item.Worker.AspNetUser.Name + "\",";
                result += " \"value\": \"" + item.SummaryIndex + "\"},";
            }
            result = result.TrimEnd(',') + " ]";
            return(result);
        }
        public void FillWorkplacesStatistic(DivisionStatistic someDivisionStatistic)
        {
            WorkplacesOperations workplaceOp = new WorkplacesOperations(db);

            someDivisionStatistic.WorkplaceStatistics.Clear();

            foreach (WorkPlace item in someDivisionStatistic.Division.WorkPlaces)
            {
                WorkplaceStatistic someWorkplaceStat = workplaceOp.GetWorkplacesStatistic(item.Id, false);
                someDivisionStatistic.WorkplaceStatistics.Add(someWorkplaceStat);
            }
        }
Esempio n. 5
0
        public WorkplaceStatistic GetWorkplacesStatistic(int workplaceId, bool fillSubelements)
        {
            WorkPlace          someWorkplace = db.WorkPlaces.Find(workplaceId);
            WorkplaceStatistic result        = new WorkplaceStatistic(db, someWorkplace);

            foreach (Worker item in someWorkplace.Workers)
            {
                result.ServicesProvided        += db.ServiceToClients.Where(m => m.Worker.WorkPlaceId == item.Id).Where(m => m.ValueSet.HasValue).Count();
                result.SuccessServicesProvided += db.ServiceToClients.Where(m => m.Value == 1).Where(m => m.Worker.WorkPlaceId == item.Id).Where(m => m.ValueSet.HasValue).Count();
                result.FailedServicesProvided  += db.ServiceToClients.Where(m => m.Value == -1).Where(m => m.Worker.WorkPlaceId == item.Id).Where(m => m.ValueSet.HasValue).Count();
            }

            result.SummaryIndex = ((double)100 / (((double)result.SuccessServicesProvided + (double)result.FailedServicesProvided) / (double)result.FailedServicesProvided));

            if (fillSubelements)
            {
                FillWorkersStatistic(result);
            }

            return(result);
        }