Exemple #1
0
        // shows ordered list of workers
        public ActionResult Worker(int id)
        {
            WorkerStatistic  someWorkerStat = new WorkerStatistic(db, db.Workers.Find(id));
            WorkerOperations workerOp       = new WorkerOperations(db);

            someWorkerStat = workerOp.FillWorkerStatistic(db.Workers.Find(id));

            return(View(someWorkerStat));
        }
Exemple #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);
            }
        }
        public WorkerStatistic FillWorkerStatistic(Worker someWorker)
        {
            WorkerStatistic result = new WorkerStatistic(db, someWorker);

            result.ServicesProvided        = db.ServiceToClients.Where(m => m.WorkerId == someWorker.Id).Where(m => m.ValueSet.HasValue).Count();
            result.SuccessServicesProvided = db.ServiceToClients.Where(m => m.WorkerId == someWorker.Id).Where(m => m.ValueSet.HasValue).Where(m => m.Value == 1).Count();
            result.FailedServicesProvided  = db.ServiceToClients.Where(m => m.WorkerId == someWorker.Id).Where(m => m.ValueSet.HasValue).Where(m => m.Value == -1).Count();

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

            FillServicesData(result);

            return(result);
        }
Exemple #4
0
        private string GetDetailedTreeMapData(CitiesStatistic someSitiesStat)
        {
            // full value of data parameter. Should be quoted in view
            string result = "[";             //  "data": [

            result += "{            \"label\": \"Україна\",       \"fillcolor\": \"8c8c8c\",  \"value\": \"" + someSitiesStat.TotalServicesProvided + "\",      \"data\":       \r\n\t[ ";


            foreach (CityStatistic city in someSitiesStat.CitiesStats)
            {
                result += " \r\n\t{\r\n\t\t\"label\": \"" + city.City.Name + "\",    \"fillcolor\": \"8c8c8c\",  \"value\": \"" + city.ServicesProvided + "\", \"data\": \r\n\t\t[\r\n";


                IEnumerable <Worker> someWorkers = db.Workers.Where(m => m.WorkPlace.Division.Organization.CityId == city.City.Id).OrderByDescending(m => m.ServicesToClients.Count());

                foreach (Worker worker in someWorkers)
                {
                    WorkerOperations workerOp       = new WorkerOperations(db);
                    WorkerStatistic  someWorkerStat = workerOp.FillWorkerStatistic(worker);

                    result += "\r\n\t\t\t{\r\n \t\t\t\t\"label\": \"" + worker.AspNetUser.Name + "\",  \"value\": \"" + worker.ServicesToClients.Where(m => m.ValueSet.HasValue).Count() + "\",  \"sValue\": \"" + someWorkerStat.SummaryIndex.ToString("0.#") + "\" ";
                    result += "\r\n\t\t\t}\r\n\t\t\t ,";
                }

                /*
                 * result += "\r\n\t\t\t{\r\n \t\t\t\t\"label\": \"" + organization.Name + "\",  \"value\": \"" + orgStat.TotalServices + "\",  \"sValue\": \"" + orgStat.SummaryIndex.ToString("0.#") + "\" ";
                 * result += "\r\n\t\t\t}\r\n\t\t\t ,";
                 */


                result  = result.TrimEnd(',');
                result += "\r\n\t\t]\r\n \r\n\t}\r\n\t ,";                 // data of city
            }
            result  = result.TrimEnd(',');
            result += "\r\n\t]}\r\n]\r\n";

            result += ",\r\n \"colorrange\": {        \"mapbypercent\": \"1\",        \"gradient\": \"1\",        \"minvalue\": \"0\",        \"code\": ";

            result += "   \"7FFF00\",        \"startlabel\": \"Позитивно\",      \"endlabel\": \"Негативно\",        \"color\": [            {";
            result += "\"code\": \"EE0000\",                \"maxvalue\": \"100\",                \"label\": \"Static\"            },            {                \"code\": \"7FFF00\",                \"maxvalue\": \"100\",                \"label\": \"AVERAGE\"            }        ]    }  ";


            return(result);
        }
        public void FillServicesData(WorkerStatistic someWorkerStatistic)
        {
            // someWorkerStatistic.ServiceData = new List<WorkerStatistic.ServicesData>();

            IEnumerable <ServiceType> providedServiceTypes = db.ServiceTypes.Where(m => m.ProvidedServices.Where(n => n.ValueSet.HasValue).Where(n => n.WorkerId == someWorkerStatistic.Worker.Id).Any()).OrderBy(m => m.Id);

            foreach (ServiceType item in providedServiceTypes)
            {
                ServicesData someServiceData = new ServicesData(item);

                someServiceData.ServicesToClients = item.ProvidedServices.Where(n => n.ValueSet.HasValue).Where(n => n.WorkerId == someWorkerStatistic.Worker.Id).ToList();

                /*
                 * OneServiceData someOneServiceDate = new OneServiceData();
                 *
                 * someOneServiceDate.PositiveServices = db.ServiceToClients.Where(m => m.WorkerId == someWorkerStatistic.Worker.Id).Where(m => m.ServiceTypeId == item.Id).Where(m => m.Value == 1);
                 * someOneServiceDate.NegativeServices = db.ServiceToClients.Where(m => m.WorkerId == someWorkerStatistic.Worker.Id).Where(m => m.ServiceTypeId == item.Id).Where(m => m.Value == -1);
                 * someOneServiceDate.UnknownServices = db.ServiceToClients.Where(m => m.WorkerId == someWorkerStatistic.Worker.Id).Where(m => m.ServiceTypeId == item.Id).Where(m => m.ValueSet == null);
                 *
                 */
                someWorkerStatistic.ServiceData.Add(someServiceData);
            }
        }
        // for charts
        // 3 lines on one graph: total services provided, satisfied, not satisfied. by months, by services
        public string GetSummaryWorkerStatToDel(WorkerStatistic someWorkerStat)
        {
            string result = "[ ";


            /*
             * foreach (WorkerStatistic item in someWorkerStat.ServicesToClients.OrderByDescending(m => m.))
             * {
             *   result += "{ 'label': '" + item.Worker.AspNetUser.Name + "',";
             *   result += " 'value': '" + item.SummaryIndex + "'}, ";
             * }
             */

            /*
             * foreach (WorkerStatistic item in someWorkerStat.WorkersStatistics.OrderByDescending(m => m.SummaryIndex))
             * {
             *  result += "{ 'label': '" + item.Worker.AspNetUser.Name + "',";
             *  result += " 'value': '" + item.SummaryIndex + "'}, ";
             * }
             */
            result = result.TrimEnd(',') + " ]";
            return(result);
        }