示例#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
        private string Compute(RoleValues roleValue)
        {
            return((

                       ConvertToNumber(roleValue.EquityPartners) +
                       ConvertToNumber(roleValue.NonEquityPartners) +
                       ConvertToNumber(roleValue.OtherLawyers) +
                       ConvertToNumber(roleValue.Associates) +
                       ConvertToNumber(roleValue.Counsel)
                       ).ToString());
        }
示例#3
0
        private RoleValues getRate(string race, List <RoleValues> roleValues)
        {
            double baseAssociates        = ConvertToNumber(roleValues.First().Associates);
            double baseCounsel           = ConvertToNumber(roleValues.First().Counsel);
            double baseEquityPartners    = ConvertToNumber(roleValues.First().EquityPartners);
            double baseNonEquityPartners = ConvertToNumber(roleValues.First().NonEquityPartners);
            double baseOtherLawyers      = ConvertToNumber(roleValues.First().OtherLawyers);
            double baseTotal             = ConvertToNumber(roleValues.First().Total);

            double topAssociates        = ConvertToNumber(roleValues.Last().Associates);
            double topCounsel           = ConvertToNumber(roleValues.Last().Counsel);
            double topEquityPartners    = ConvertToNumber(roleValues.Last().EquityPartners);
            double topNonEquityPartners = ConvertToNumber(roleValues.Last().NonEquityPartners);
            double topOtherLawyers      = ConvertToNumber(roleValues.Last().OtherLawyers);
            double topTotal             = ConvertToNumber(roleValues.Last().Total);


            double rateAssociates        = topAssociates == 0 || baseAssociates == 0 ? 0 : Math.Round(((topAssociates - baseAssociates) / baseAssociates) * 100, 2);
            double rateCounsel           = topCounsel == 0 || baseCounsel == 0 ? 0 : Math.Round(((topCounsel - baseCounsel) / baseCounsel) * 100, 2);
            double rateEquityPartners    = topEquityPartners == 0 || baseEquityPartners == 0 ? 0 : Math.Round(((topEquityPartners - baseEquityPartners) / baseEquityPartners) * 100, 2);
            double rateNonEquityPartners = topNonEquityPartners == 0 || baseNonEquityPartners == 0 ? 0 : Math.Round(((topNonEquityPartners - baseNonEquityPartners) / baseNonEquityPartners) * 100, 2);
            double rateOtherLawyers      = topOtherLawyers == 0 || baseOtherLawyers == 0 ? 0 : Math.Round(((topOtherLawyers - baseOtherLawyers) / baseOtherLawyers) * 100, 2);
            double rateTotal             = topTotal == 0 || baseTotal == 0 ? 0 : Math.Round(((topTotal - baseTotal) / baseTotal) * 100, 2);

            RoleValues roleValue = new RoleValues
            {
                Associates        = rateAssociates.ToString(),
                Counsel           = rateCounsel.ToString(),
                EquityPartners    = rateEquityPartners.ToString(),
                NonEquityPartners = rateNonEquityPartners.ToString(),
                OtherLawyers      = rateOtherLawyers.ToString(),
                Total             = rateTotal.ToString()
            };

            //roleValue.Total = Compute(roleValue);
            roleValue.Associates        += "%";
            roleValue.Counsel           += "%";
            roleValue.EquityPartners    += "%";
            roleValue.NonEquityPartners += "%";
            roleValue.OtherLawyers      += "%";
            roleValue.Total             += "%";
            roleValue.Year = "Rate";

            return(roleValue);
        }
        protected override bool IsAuthorized(System.Web.Http.Controllers.HttpActionContext actionContext)
        {
            if (Sitecore.Context.User == null || !Sitecore.Context.User.IsAuthenticated)
            {
                return(false);
            }

            if (RoleValues.Any())
            {
                return(RoleValues.Any(x => IsInRole(x)));
            }

            if (EditorRoles.Any())
            {
                return(EditorRoles.Any(x => IsInRole(x)));
            }

            return(true);
        }
示例#5
0
        public List <RaceRoleValues> getCategoryOfAllValues(Guid BaseSurvey, Guid TopSurvey, IEnumerable <CompanyProfiles> insideScopeOfCompanyProfiles)
        {
            var fd  = getCategoryValues(2, BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles);
            var pap = getCategoryValues(4, BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles);
            var ll  = getCategoryValues(5, BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles);
            var jl  = getCategoryValues(6, BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles);
            var rhl = getCategoryValues(7, BaseSurvey, TopSurvey, insideScopeOfCompanyProfiles);

            var rrvFD  = getRaceRoleValues(fd);
            var rrvPAP = getRaceRoleValues(pap);
            var rrvLL  = getRaceRoleValues(ll);
            var rrvJL  = getRaceRoleValues(jl);
            var rrvRHL = getRaceRoleValues(rhl);


            List <RaceRoleValues> allRaceRoleValues = new List <RaceRoleValues>();


            foreach (var race in Races)
            {
                var racevalueofFD            = rrvFD.Find(x => x.Race == race);
                var racevalueofpap           = rrvPAP.Find(x => x.Race == race);
                var racevalueofLL            = rrvLL.Find(x => x.Race == race);
                var racevalueofJL            = rrvJL.Find(x => x.Race == race);
                var racevalueofRHL           = rrvRHL.Find(x => x.Race == race);
                List <RoleValues> rolevalues = new List <RoleValues>();
                for (int i = 0; i < racevalueofFD.MyRoleValues.Count(); i++)
                {
                    var assoc = ConvertToNumber(racevalueofFD.MyRoleValues[i].Associates)
                                + ConvertToNumber(racevalueofJL.MyRoleValues[i].Associates)
                                + ConvertToNumber(racevalueofpap.MyRoleValues[i].Associates)
                                + ConvertToNumber(racevalueofLL.MyRoleValues[i].Associates)
                                + ConvertToNumber(racevalueofRHL.MyRoleValues[i].Associates);

                    var counsel = ConvertToNumber(racevalueofFD.MyRoleValues[i].Counsel)
                                  + ConvertToNumber(racevalueofJL.MyRoleValues[i].Counsel)
                                  + ConvertToNumber(racevalueofpap.MyRoleValues[i].Counsel)
                                  + ConvertToNumber(racevalueofLL.MyRoleValues[i].Counsel)
                                  + ConvertToNumber(racevalueofRHL.MyRoleValues[i].Counsel);

                    var ep = ConvertToNumber(racevalueofFD.MyRoleValues[i].EquityPartners)
                             + ConvertToNumber(racevalueofJL.MyRoleValues[i].EquityPartners)
                             + ConvertToNumber(racevalueofpap.MyRoleValues[i].EquityPartners)
                             + ConvertToNumber(racevalueofLL.MyRoleValues[i].EquityPartners)
                             + ConvertToNumber(racevalueofRHL.MyRoleValues[i].EquityPartners);

                    var nep = ConvertToNumber(racevalueofFD.MyRoleValues[i].NonEquityPartners)
                              + ConvertToNumber(racevalueofJL.MyRoleValues[i].NonEquityPartners)
                              + ConvertToNumber(racevalueofpap.MyRoleValues[i].NonEquityPartners)
                              + ConvertToNumber(racevalueofLL.MyRoleValues[i].NonEquityPartners)
                              + ConvertToNumber(racevalueofRHL.MyRoleValues[i].NonEquityPartners);

                    var ol = ConvertToNumber(racevalueofFD.MyRoleValues[i].OtherLawyers)
                             + ConvertToNumber(racevalueofJL.MyRoleValues[i].OtherLawyers)
                             + ConvertToNumber(racevalueofpap.MyRoleValues[i].OtherLawyers)
                             + ConvertToNumber(racevalueofLL.MyRoleValues[i].OtherLawyers)
                             + ConvertToNumber(racevalueofRHL.MyRoleValues[i].OtherLawyers);

                    var total = ConvertToNumber(racevalueofFD.MyRoleValues[i].Total)
                                + ConvertToNumber(racevalueofJL.MyRoleValues[i].Total)
                                + ConvertToNumber(racevalueofpap.MyRoleValues[i].Total)
                                + ConvertToNumber(racevalueofLL.MyRoleValues[i].Total)
                                + ConvertToNumber(racevalueofRHL.MyRoleValues[i].Total);

                    var allYear = racevalueofFD.MyRoleValues[i].Year;
                    rolevalues.Add(new RoleValues
                    {
                        Associates        = assoc.ToString(),
                        Counsel           = counsel.ToString(),
                        EquityPartners    = ep.ToString(),
                        NonEquityPartners = nep.ToString(),
                        OtherLawyers      = ol.ToString(),
                        Total             = total.ToString(),
                        Year = allYear
                    });
                }
                //for rate
                RoleValues rateRoleValue = new RoleValues();
                rateRoleValue = getRate(race, rolevalues);
                rolevalues.Add(rateRoleValue);

                allRaceRoleValues.Add(new RaceRoleValues
                {
                    Race         = race,
                    MyRoleValues = rolevalues
                });
            }


            return(allRaceRoleValues);
        }
示例#6
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);
        }
示例#7
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);
        }