Exemple #1
0
        public Dictionary <string, double> GetPositiveAnswersPercentageByFOType(int type,
                                                                                int?country_id, int?state_id, int?region_id)
        {
            IQueryable <Evaluation> Evaluations = GetEvaluationsByUbication(country_id, state_id, region_id);

            if (Evaluations.Count() > 0)
            {
                Dictionary <string, double> results = new Dictionary <string, double>();
                var groups = new EvaluationsFOServices().GetByFunctionalOrganizationTypeAndUbication(Evaluations.Select(i => i.Id).ToList(), type).Select(fo => fo.FunctionalOrganization).OrderBy(fo => fo.Name).GroupBy(fo => fo.Id);
                if (groups.Count() > 0)
                {
                    List <double> data = new List <double>();
                    foreach (var group in groups)
                    {
                        IQueryable <EvaluationFO> evaluationsFO = Evaluations.SelectMany(efo => efo.EvaluationFOs).Where(fo => fo.FunctionalOrganization_Id == group.First().Id).AsQueryable();
                        //int totalAnswers = GetAnswersCountByTypeByEvaluationFO(data, "Positivas", evaluationsFO);
                        IQueryable <Evaluation> evaluations = evaluationsFO.Select(e => e.Evaluation).AsQueryable();
                        GetAnswersCountByAnswerType(evaluations, null, null, data, "Positivas");
                        results.Add(group.First().Name, data != null ? data.Average() : 0);
                        //results.Add(group.First().Name, data.Sum() * 100 / totalAnswers/**/);
                    }
                }
                return(results);
            }
            return(null);
        }
        //public ActionResult RedirectToFeedback()
        //{
        //    Session["Type"] = 2;
        //    System.Threading.Thread.Sleep(5000);
        //    return RedirectToAction("SendFeedback", "Feedbacks");
        //}

        public void InsertFunctionalOrganizations(Evaluation evaluation)
        {
            EvaluationsFOServices _evaluationsFOServices = new EvaluationsFOServices();

            for (int i = 0; i < Selected_FO[0].Count(); i++)
            {
                EvaluationFO evaluationFO_object = new EvaluationFO();
                evaluationFO_object.Evaluation_Id             = evaluation.Id;
                evaluationFO_object.FunctionalOrganization_Id = Selected_FO[1][i];
                _evaluationsFOServices.Add(evaluationFO_object);
            }
        }