private string GetTreeMapData(CityStatistic someCityStat)
        {
            // full value of data parameter
            string result = "[";

            result += "{            \"label\": \"" + someCityStat.City.Name + "\",       \"fillcolor\": \"8c8c8c\",  \"value\": \"" + someCityStat.ServicesProvided + "\",      \"data\":       \r\n\t[ ";


            foreach (OrganizationStatistic organization in someCityStat.OrganizationStatistic)
            {
                result += " \r\n\t{\r\n\t\t\"label\": \"" + organization.Organization.Name + "\",    \"fillcolor\": \"8c8c8c\",  \"value\": \"" + organization.TotalServices + "\", \"data\": \r\n\t\t[\r\n";

                DivisionsOperations divOp = new DivisionsOperations(db);

                foreach (DivisionStatistic division in organization.DivisionStatistic)
                {
                    DivisionStatistic divisionStat = divOp.GetDivisionStatistic(division.Division.Id, false);
                    result += "\r\n\t\t\t{\r\n \t\t\t\t\"label\": \"" + division.Division.Name + "\",  \"value\": \"" + divisionStat.ServicesProvided + "\",  \"sValue\": \"" + divisionStat.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 ,";
            }
            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);
        }
        // organization has divisions. It fills their indexes here
        public void FillDivisionsStatistic(OrganizationStatistic someOrgStat, bool fillSubitems)
        {
            someOrgStat.DivisionStatistic.Clear();
            DivisionsOperations divisionOp = new DivisionsOperations(db);

            foreach (Division item in someOrgStat.Organization.Divisions.ToList())
            {
                DivisionStatistic someDivStat = new DivisionStatistic(db, item);
                someDivStat = divisionOp.GetDivisionStatistic(item.Id, fillSubitems);
                someOrgStat.DivisionStatistic.Add(someDivStat);
            }
        }