Beispiel #1
0
        public ActionResult Criteria1Review(int id)
        {
            IList<Criteria1Entity> criteria1Entities = Service.Criteria1Overview(id).OrderBy(x => x.CommonName).ToList();
            Criteria1ViewModel model = new Criteria1ViewModel()
            {
                Criteria = criteria1Entities,
                Synthesis = Service.SynthesisGet(id, 1)
            };

            IList<IGrouping<string, Criteria1Entity>> groupedEntities = criteria1Entities.GroupBy(x => x.CommonName).ToList();
            IList<GroupedFactorColumnEntity> results = new List<GroupedFactorColumnEntity>();
            //grouped by common name
            foreach (IGrouping<string, Criteria1Entity> group in groupedEntities)
            {
                HashSet<FactorColumnEntity> uniqueFactor1Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
                HashSet<FactorColumnEntity> uniqueFactor2Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
                HashSet<FactorColumnEntity> uniqueFactor3Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
                IList<CriteriaEntityBase> allRows = new List<CriteriaEntityBase>();
                foreach (Criteria1Entity set in group)
                {
                    if (set.Factor1.FactorId != 0)
                        uniqueFactor1Entities.Add(set.Factor1);
                    if (set.Factor2.FactorId != 0)
                        uniqueFactor2Entities.Add(set.Factor2);
                    if (set.Factor3.FactorId != 0)
                        uniqueFactor3Entities.Add(set.Factor3);
                    allRows.Add(set);
                }
                GroupedFactorColumnEntity result = new GroupedFactorColumnEntity();
                result.CommonName = group.Key;
                result.Factor1Entities = ProcessUniqueAnswers(uniqueFactor1Entities, allRows, (f, c) => (f.FactorId == c.Factor1.FactorId));
                result.Factor2Entities = ProcessUniqueAnswers(uniqueFactor2Entities, allRows, (f, c) => (f.FactorId == c.Factor2.FactorId));
                result.Factor3Entities = ProcessUniqueAnswers(uniqueFactor3Entities, allRows, (f, c) => (f.FactorId == c.Factor3.FactorId));
                results.Add(result);
            }

            model.GroupedAnswers = results;

            return View("_Criteria1", model);
        }
Beispiel #2
0
        public ActionResult Criteria3Review(int id)
        {
            IList<Criteria31Entity> criteria31Entities = Service.Criteria31Overview(id);
            IList<Criteria32Entity> criteria32Entities = Service.Criteria32Overview(id);
            Criteria3ViewModel model = new Criteria3ViewModel()
            {
                Synthesis1 = Service.SynthesisGet(id, 31),
                Synthesis2 = Service.SynthesisGet(id, 32),
                Synthesis3 = Service.SynthesisGet(id, 33),
                SummaryCriteria = Service.Criteria3Overview(id),
                Criteria31 = criteria31Entities,
                Criteria32 = criteria32Entities
            };

            IList<GroupedFactorColumnEntity> results = new List<GroupedFactorColumnEntity>();
            //grouped by common name
            HashSet<FactorColumnEntity> uniqueFactor1Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor2Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor3Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor4Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor5Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor6Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor7Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor8Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            IList<CriteriaEntityBase> allRows = new List<CriteriaEntityBase>();
            foreach (Criteria31Entity set in criteria31Entities)
            {
                if (set.Factor1.FactorId != 0)
                    uniqueFactor1Entities.Add(set.Factor1);
                if (set.Factor2.FactorId != 0)
                    uniqueFactor2Entities.Add(set.Factor2);
                if (set.Factor3.FactorId != 0)
                    uniqueFactor3Entities.Add(set.Factor3);
                if (set.Factor4.FactorId != 0)
                    uniqueFactor4Entities.Add(set.Factor4);
                if (set.Factor5.FactorId != 0)
                    uniqueFactor5Entities.Add(set.Factor5);
                if (set.Factor6.FactorId != 0)
                    uniqueFactor6Entities.Add(set.Factor6);
                if (set.Factor7.FactorId != 0)
                    uniqueFactor7Entities.Add(set.Factor7);
                if (set.Factor8.FactorId != 0)
                    uniqueFactor8Entities.Add(set.Factor8);
                allRows.Add(set);
            }
            GroupedFactorColumnEntity result = new GroupedFactorColumnEntity();
            result.Factor1Entities = ProcessUniqueAnswers(uniqueFactor1Entities, allRows, (f, c) => f.FactorId == c.Factor1.FactorId);
            result.Factor2Entities = ProcessUniqueAnswers(uniqueFactor2Entities, allRows, (f, c) => f.FactorId == c.Factor2.FactorId);
            result.Factor3Entities = ProcessUniqueAnswers(uniqueFactor3Entities, allRows, (f, c) => f.FactorId == c.Factor3.FactorId);
            result.Factor4Entities = ProcessUniqueAnswers(uniqueFactor4Entities, allRows, (f, c) => f.FactorId == c.Factor4.FactorId);
            result.Factor5Entities = ProcessUniqueAnswers(uniqueFactor5Entities, allRows, (f, c) => f.FactorId == c.Factor5.FactorId);
            result.Factor6Entities = ProcessUniqueAnswers(uniqueFactor6Entities, allRows, (f, c) => f.FactorId == c.Factor6.FactorId);
            result.Factor7Entities = ProcessUniqueAnswers(uniqueFactor7Entities, allRows, (f, c) => f.FactorId == c.Factor7.FactorId);
            result.Factor8Entities = ProcessUniqueAnswers(uniqueFactor8Entities, allRows, (f, c) => f.FactorId == c.Factor8.FactorId);
            results.Add(result);

            model.GroupedAnswers = results;

            IList<GroupedFactorColumnEntity> results2 = new List<GroupedFactorColumnEntity>();
            //grouped by common name
            HashSet<FactorColumnEntity> uniqueFactor21Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor22Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor23Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor24Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor25Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor26Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            IList<CriteriaEntityBase> allRows2 = new List<CriteriaEntityBase>();
            foreach (Criteria32Entity set in criteria32Entities)
            {
                if (set.Factor1.FactorId != 0)
                    uniqueFactor21Entities.Add(set.Factor1);
                if (set.Factor2.FactorId != 0)
                    uniqueFactor22Entities.Add(set.Factor2);
                if (set.Factor3.FactorId != 0)
                    uniqueFactor23Entities.Add(set.Factor3);
                if (set.Factor4.FactorId != 0)
                    uniqueFactor24Entities.Add(set.Factor4);
                if (set.Factor5.FactorId != 0)
                    uniqueFactor25Entities.Add(set.Factor5);
                if (set.Factor6.FactorId != 0)
                    uniqueFactor26Entities.Add(set.Factor6);
                allRows2.Add(set);
            }
            GroupedFactorColumnEntity result2 = new GroupedFactorColumnEntity();
            result2.Factor1Entities = ProcessUniqueAnswers(uniqueFactor21Entities, allRows2, (f, c) => f.FactorId == c.Factor1.FactorId);
            result2.Factor2Entities = ProcessUniqueAnswers(uniqueFactor22Entities, allRows2, (f, c) => f.FactorId == c.Factor2.FactorId);
            result2.Factor3Entities = ProcessUniqueAnswers(uniqueFactor23Entities, allRows2, (f, c) => f.FactorId == c.Factor3.FactorId);
            result2.Factor4Entities = ProcessUniqueAnswers(uniqueFactor24Entities, allRows2, (f, c) => f.FactorId == c.Factor4.FactorId);
            result2.Factor5Entities = ProcessUniqueAnswers(uniqueFactor25Entities, allRows2, (f, c) => f.FactorId == c.Factor5.FactorId);
            result2.Factor6Entities = ProcessUniqueAnswers(uniqueFactor26Entities, allRows2, (f, c) => f.FactorId == c.Factor6.FactorId);

            results2.Add(result2);

            model.GroupedAnswers2 = results2;

            return View("_Criteria3", model);
        }
Beispiel #3
0
        public ActionResult Criteria4Review(int id)
        {
            IList<Criteria4Entity> criteria4Entities = Service.Criteria4Overview(id);
            Criteria4ViewModel model = new Criteria4ViewModel()
            {
                Criteria = criteria4Entities,
                Synthesis = Service.SynthesisGet(id, 4)
            };
            IList<GroupedFactorColumnEntity> results = new List<GroupedFactorColumnEntity>();
            //grouped by common name
            HashSet<FactorColumnEntity> uniqueFactor1Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor2Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            HashSet<FactorColumnEntity> uniqueFactor3Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            IList<CriteriaEntityBase> allRows = new List<CriteriaEntityBase>();
            foreach (Criteria4Entity set in criteria4Entities)
            {
                if (set.Factor1.FactorId != 0)
                    uniqueFactor1Entities.Add(set.Factor1);
                if (set.Factor2.FactorId != 0)
                    uniqueFactor2Entities.Add(set.Factor2);
                if (set.Factor3.FactorId != 0)
                    uniqueFactor3Entities.Add(set.Factor3);
                allRows.Add(set);
            }
            GroupedFactorColumnEntity result = new GroupedFactorColumnEntity();
            result.Factor1Entities = ProcessUniqueAnswers(uniqueFactor1Entities, allRows, (f, c) => f.FactorId == c.Factor1.FactorId);
            result.Factor2Entities = ProcessUniqueAnswers(uniqueFactor2Entities, allRows, (f, c) => f.FactorId == c.Factor2.FactorId);
            result.Factor3Entities = ProcessUniqueAnswers(uniqueFactor3Entities, allRows, (f, c) => f.FactorId == c.Factor3.FactorId);
            results.Add(result);
            model.GroupedAnswers = results;

            return View("_Criteria4", model);
        }
Beispiel #4
0
        public ActionResult Criteria2Review(int id)
        {
            IList<Criteria2Entity> criteria2Entities = Service.Criteria2Overview(id);
            IList<Criteria24Entity> criteria24Entities = Service.Criteria24Overview(id).OrderBy(x => x.Location).ToList();
            Criteria2ViewModel model = new Criteria2ViewModel()
            {
                Criteria = Helpers.BuildCriteria2List(criteria2Entities),
                Criteria24 = criteria24Entities,
                Synthesis = Service.SynthesisGet(id, 2)
            };

            IList<GroupedFactorColumnEntity> results = new List<GroupedFactorColumnEntity>();
            //grouped by common name

            HashSet<FactorColumnEntity> uniqueFactor4Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
            IList<CriteriaEntityBase> allRows = new List<CriteriaEntityBase>();
            foreach (Criteria24Entity set in criteria24Entities)
            {
                if (set.Factor4.FactorId != 0)
                    uniqueFactor4Entities.Add(set.Factor4);
                allRows.Add(set);
            }
            GroupedFactorColumnEntity result = new GroupedFactorColumnEntity();
            result.Factor1Entities = ProcessUniqueAnswers(uniqueFactor4Entities, allRows, (f, e) => f.FactorId == e.Factor4.FactorId);
            results.Add(result);

            model.GroupedAnswers = results;

            IList<Criteria1Entity> criteria1Entities = Service.Criteria1Overview(id).OrderBy(x => x.CommonName).ToList();
            IList<IGrouping<string, Criteria1Entity>> groupedEntities1 = criteria1Entities.GroupBy(x => x.CommonName).ToList();
            IList<string> speciesFromCriteria1 = new List<string>();
            foreach (IGrouping<string, Criteria1Entity> criteria1 in groupedEntities1)
            {
                speciesFromCriteria1.Add(criteria1.Key);
            }
            IList<IGrouping<string, Criteria2Entity>> groupedEntities = criteria2Entities.GroupBy(x => x.CommonName).ToList();
            groupedEntities = groupedEntities.Where(x => !speciesFromCriteria1.Contains(x.Key)).ToList();
            IList<GroupedFactorColumnEntity> results2 = new List<GroupedFactorColumnEntity>();
            //grouped by common name
            foreach (IGrouping<string, Criteria2Entity> group in groupedEntities)
            {
                HashSet<FactorColumnEntity> uniqueFactor1Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
                HashSet<FactorColumnEntity> uniqueFactor2Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
                HashSet<FactorColumnEntity> uniqueFactor3Entities = new HashSet<FactorColumnEntity>(new EntityEqualityComparer());
                IList<CriteriaEntityBase> allRows2 = new List<CriteriaEntityBase>();
                foreach (Criteria2Entity set in group)
                {
                    if (set.Factor1.FactorId != 0)
                        uniqueFactor1Entities.Add(set.Factor1);
                    if (set.Factor2.FactorId != 0)
                        uniqueFactor2Entities.Add(set.Factor2);
                    if (set.Factor3.FactorId != 0)
                        uniqueFactor3Entities.Add(set.Factor3);
                    allRows2.Add(set);
                }
                GroupedFactorColumnEntity result2 = new GroupedFactorColumnEntity();
                result2.CommonName = group.Key;
                result2.Factor1Entities = ProcessUniqueAnswers(uniqueFactor1Entities, allRows2, (f, c) => (f.FactorId == c.Factor1.FactorId));
                result2.Factor2Entities = ProcessUniqueAnswers(uniqueFactor2Entities, allRows2, (f, c) => (f.FactorId == c.Factor2.FactorId));
                result2.Factor3Entities = ProcessUniqueAnswers(uniqueFactor3Entities, allRows2, (f, c) => (f.FactorId == c.Factor3.FactorId));
                results2.Add(result2);
            }

            model.GroupedAnswers2 = results2.OrderBy(x => x.CommonName).ToList();

            return View("_Criteria2", model);
        }