Пример #1
0
        public List <RaceRoleValues> getRaceRoleValues(List <List <GenericDataSurveyDTO> > genericDataSurveys)
        {
            List <RaceRoleValues> raceRoleValues = new List <RaceRoleValues>();
            RaceRoleValues        raceRoleValue;

            foreach (var race in Races)
            {
                raceRoleValue = new RaceRoleValues();
                raceRoleValue.MyRoleValues = new List <RoleValues>();
                foreach (var glds in genericDataSurveys)
                {
                    var currentRace = glds.SingleOrDefault(x => x.RegionName == race);
                    if (currentRace != null)
                    {
                        RoleValues roleValue = new RoleValues
                        {
                            Associates        = currentRace.Associates,
                            Counsel           = currentRace.Counsel,
                            EquityPartners    = currentRace.EquityPartners,
                            NonEquityPartners = currentRace.NonEquityPartners,
                            OtherLawyers      = currentRace.OtherLawyers,
                            Year = companyProfiles.SingleOrDefault(x => x.CompanyProfileID == currentRace.CompanyProfileID).Datecomp.Year.ToString()
                        };

                        roleValue.Total = Compute(roleValue);
                        raceRoleValue.MyRoleValues.Add(roleValue);
                    }
                }
                raceRoleValue.Race = race;
                //main RaceVSRoles
                raceRoleValues.Add(raceRoleValue);
            }
            return(raceRoleValues);
        }
Пример #2
0
        public List <RaceRoleValues> GetReportRaceVSRole([FromRoute] Guid firmID, [FromRoute] int category, [FromRoute] Guid BaseSurvey, [FromRoute] Guid TopSurvey)
        {
            var firm = _context.Firms.SingleOrDefault(x => x.FirmID == firmID);

            if (firm == null)
            {
                return(null);
            }
            //get companyProfiles of this firm
            companyProfiles = companyProfilesController.GetCompanyProfiles(firm.FirmID);
            var baseCompanyProfiledate = companyProfiles.FirstOrDefault(x => x.CompanyProfileID == BaseSurvey).Datecomp;
            var topCompanyProfiledate  = companyProfiles.FirstOrDefault(x => x.CompanyProfileID == TopSurvey).Datecomp;
            //remove companyprofiles of base and top
            var insideScopeOfCompanyProfiles = companyProfiles.Where(x => x.CompanyProfileID != BaseSurvey);

            insideScopeOfCompanyProfiles = insideScopeOfCompanyProfiles.Where(x => x.CompanyProfileID != TopSurvey);
            //filter betweendates
            insideScopeOfCompanyProfiles = insideScopeOfCompanyProfiles.Where(x => x.Datecomp > baseCompanyProfiledate && x.Datecomp < topCompanyProfiledate).OrderBy(x => x.Datecomp);

            if (category == 0)
            {
                return(getCategoryOfAllValues(BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles));
            }
            List <List <GenericDataSurveyDTO> > genericDataSurveys = getCategoryValues(category, BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles);

            List <RaceRoleValues> raceRoleValues = new List <RaceRoleValues>();
            RaceRoleValues        raceRoleValue  = new RaceRoleValues();

            if (genericDataSurveys.Count() != 0)
            {
                foreach (var race in Races)
                {
                    raceRoleValue = new RaceRoleValues();
                    raceRoleValue.MyRoleValues = new List <RoleValues>();
                    foreach (var glds in genericDataSurveys)
                    {
                        var currentRace = glds.SingleOrDefault(x => x.RegionName == race);
                        if (currentRace != null)
                        {
                            RoleValues roleValue = new RoleValues
                            {
                                Associates        = currentRace.Associates,
                                Counsel           = currentRace.Counsel,
                                EquityPartners    = currentRace.EquityPartners,
                                NonEquityPartners = currentRace.NonEquityPartners,
                                OtherLawyers      = currentRace.OtherLawyers,
                                Year = companyProfiles.SingleOrDefault(x => x.CompanyProfileID == currentRace.CompanyProfileID).Datecomp.Year.ToString()
                            };

                            roleValue.Total = Compute(roleValue);
                            raceRoleValue.MyRoleValues.Add(roleValue);
                        }
                    }
                    raceRoleValue.Race = race;
                    //for rate
                    RoleValues rateRoleValue = new RoleValues();
                    rateRoleValue = getRate(race, raceRoleValue.MyRoleValues);
                    raceRoleValue.MyRoleValues.Add(rateRoleValue);
                    //main RaceVSRoles
                    raceRoleValues.Add(raceRoleValue);
                }
            }


            return(raceRoleValues);
        }
Пример #3
0
        public List <RaceRoleValues> GetGeneral([FromRoute] Guid firmID, [FromRoute] int category, [FromRoute] Guid BaseSurvey, [FromRoute] Guid TopSurvey)
        {
            var raceRoleValues = GetReportRaceVSRole(firmID, category, BaseSurvey, TopSurvey);
            List <RaceRoleValues> minorityRaceRoleValuesTemp = new List <RaceRoleValues>();
            //filtering
            double EquityPartners;
            double OtherLawyers;
            double Associates;
            double Counsel;
            double NonEquityPartners;
            string year;

            foreach (var general in DiversityRankRace)
            {
                var raceRoleValue = raceRoleValues.Find(x => x.Race == general);
                if (raceRoleValue != null)
                {
                    minorityRaceRoleValuesTemp.Add(raceRoleValue);
                }
            }

            //remove the rating
            foreach (var rrv in minorityRaceRoleValuesTemp)
            {
                rrv.MyRoleValues = rrv.MyRoleValues.Where(x => x.Year != "Rate").ToList();
            }

            //summation of every year
            var numberOfRaceRoleValue = minorityRaceRoleValuesTemp.Count();

            if (numberOfRaceRoleValue == 0)
            {
                return(new List <RaceRoleValues>());
            }

            var numberOfYears = minorityRaceRoleValuesTemp[0].MyRoleValues.Count();

            List <RaceRoleValues> minoritySummationList = new List <RaceRoleValues>();
            RaceRoleValues        minorityRaceRoleValue = new RaceRoleValues
            {
                Race         = "Minorities",
                MyRoleValues = new List <RoleValues>()
            };


            for (int i = 0; i < numberOfYears; i++)
            {
                EquityPartners    = 0;
                OtherLawyers      = 0;
                Associates        = 0;
                Counsel           = 0;
                NonEquityPartners = 0;
                year = "";
                for (int j = 0; j < numberOfRaceRoleValue; j++)
                {
                    EquityPartners    += ConvertToNumber(minorityRaceRoleValuesTemp[j].MyRoleValues[i].EquityPartners);
                    OtherLawyers      += ConvertToNumber(minorityRaceRoleValuesTemp[j].MyRoleValues[i].OtherLawyers);
                    Associates        += ConvertToNumber(minorityRaceRoleValuesTemp[j].MyRoleValues[i].Associates);
                    Counsel           += ConvertToNumber(minorityRaceRoleValuesTemp[j].MyRoleValues[i].Counsel);
                    NonEquityPartners += ConvertToNumber(minorityRaceRoleValuesTemp[j].MyRoleValues[i].NonEquityPartners);
                    year = minorityRaceRoleValuesTemp[j].MyRoleValues[i].Year;
                }

                var minorityRoleValue = new RoleValues
                {
                    Associates        = Associates.ToString(),
                    Counsel           = Counsel.ToString(),
                    EquityPartners    = EquityPartners.ToString(),
                    NonEquityPartners = NonEquityPartners.ToString(),
                    OtherLawyers      = NonEquityPartners.ToString(),
                    Year = year
                };

                minorityRoleValue.Total = Compute(minorityRoleValue);
                minorityRaceRoleValue.MyRoleValues.Add(minorityRoleValue);
            }
            RoleValues rateRoleValue = new RoleValues();

            rateRoleValue = getRate("Rate", minorityRaceRoleValue.MyRoleValues);
            minorityRaceRoleValue.MyRoleValues.Add(rateRoleValue);
            //main RaceVSRoles
            minoritySummationList.Add(minorityRaceRoleValue);


            return(minoritySummationList);
        }