Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        public IActionResult GetYears([FromRoute] Guid firmID)
        {
            var companyProfiles = companyProfilesController.GetCompanyProfiles(firmID);

            return(Ok(companyProfiles.OrderBy(x => x.Datecomp)));
        }