public ActionResult Index()
        {
            FindAssosiatesModel   model = new FindAssosiatesModel();
            List <SelectListItem> listSelectListItems = new List <SelectListItem>();
            SelectListItem        selectList          = new SelectListItem()
            {
                Text     = "картопля",
                Value    = "1",
                Selected = true
            };

            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "курка",
                Value = "2"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "борщ",
                Value = "3"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "вареники",
                Value = "4"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "бутерброд",
                Value = "5"
            };
            listSelectListItems.Add(selectList);


            model.TegList1      = listSelectListItems;
            listSelectListItems = new List <SelectListItem>();

            selectList = new SelectListItem()
            {
                Text     = "в лісі",
                Value    = "1",
                Selected = true
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "в горах",
                Value = "2"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "на морі",
                Value = "3"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "вдома",
                Value = "4"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "не люблю",
                Value = "5"
            };
            listSelectListItems.Add(selectList);
            model.TegList2 = listSelectListItems;



            model.users = usersList;

            return(View("FindAssosiates", model));
        }
        public ActionResult ConfirmTest(FindAssosiatesModel model)
        {
            using (CustomDbContext db = new CustomDbContext())
            {
                string currentPerson;
                if (Request.Cookies["UserId"] != null)
                {
                    currentPerson = Convert.ToString(Request.Cookies["UserId"].Value);
                }
                else
                {
                    currentPerson = "user1";
                }
                model.user = currentPerson;
                if (model.SelectedTeg1 != null)
                {
                    model.questionId    = 1;
                    model.valueOfanswer = Convert.ToInt32(model.SelectedTeg1.Last());
                    model.id            = model.user + '_' + model.questionId;
                    var id    = model.id;
                    int count = db.FindAssosiatesModel.Count(x => x.user == currentPerson && x.questionId == model.questionId);
                    if (count == 0)
                    {
                        db.FindAssosiatesModel.Add(new FindAssosiatesModel {
                            id = id
                        });
                        db.SaveChanges();
                        var m = db.FindAssosiatesModel.SingleOrDefault(x => x.id == id);
                        m.questionId    = model.questionId;
                        m.user          = model.user;
                        m.valueOfanswer = model.valueOfanswer;
                        db.SaveChanges();
                    }
                    else
                    {
                        var m = db.FindAssosiatesModel.SingleOrDefault(x => x.id == model.id);
                        if (m != null)
                        {
                            m.valueOfanswer = model.valueOfanswer;
                        }
                        else
                        {
                            db.FindAssosiatesModel.Add(new FindAssosiatesModel {
                                id = id
                            });
                            db.SaveChanges();
                            m               = db.FindAssosiatesModel.SingleOrDefault(x => x.id == id);
                            m.questionId    = model.questionId;
                            m.user          = model.user;
                            m.valueOfanswer = model.valueOfanswer;
                            db.SaveChanges();
                        }
                        db.SaveChanges();
                    }
                }
                if (model.SelectedTeg2 != null)
                {
                    model.questionId    = 2;
                    model.valueOfanswer = Convert.ToInt32(model.SelectedTeg2.Last());
                    model.id            = model.user + '_' + model.questionId;
                    var id    = model.id;
                    int count = db.FindAssosiatesModel.Count(x => x.user == currentPerson && x.questionId == model.questionId);
                    if (count == 0)
                    {
                        db.FindAssosiatesModel.Add(new FindAssosiatesModel {
                            id = id
                        });
                        db.SaveChanges();
                        var m = db.FindAssosiatesModel.SingleOrDefault(x => x.id == id);
                        m.questionId    = model.questionId;
                        m.user          = model.user;
                        m.valueOfanswer = model.valueOfanswer;
                        db.SaveChanges();
                    }
                    else
                    {
                        var m = db.FindAssosiatesModel.SingleOrDefault(x => x.id == id);
                        if (m != null)
                        {
                            m.valueOfanswer = model.valueOfanswer;
                        }
                        else
                        {
                            db.FindAssosiatesModel.Add(new FindAssosiatesModel {
                                id = id
                            });
                            db.SaveChanges();
                            m               = db.FindAssosiatesModel.SingleOrDefault(x => x.id == model.id);
                            m.questionId    = model.questionId;
                            m.user          = model.user;
                            m.valueOfanswer = model.valueOfanswer;
                        }
                        db.SaveChanges();
                    }
                }
                ProfileModel     ment = new ProfileModel();
                Algorithm        al   = new Algorithm();
                List <DataPoint> l    = new List <DataPoint>();
                DataPoint        dp   = new DataPoint(2);

                //var results = db.FindAssosiatesModel.GroupBy( p => p.user, p => p.questionId, p => p.answer, (key, q, a) => new { User = key, Questions = q.ToList(), Answers = a.toList() });
                var f = db.FindAssosiatesModel.GroupBy(x => x.user);
                foreach (var i in f)
                {
                    dp = new DataPoint(2);
                    var q = i.Where(x => x.questionId == 1).FirstOrDefault();
                    dp.a[0]    = q.valueOfanswer;
                    dp.pointId = q.user;

                    q       = i.Where(x => x.questionId == 2).SingleOrDefault();
                    dp.a[1] = q.valueOfanswer;
                    l.Add(dp);
                }
                string[] ids = al.Init(currentPerson, l);
                using (CustomDbContext db2 = new CustomDbContext())
                {
                    foreach (var item in ids)
                    {
                        ment = new ProfileModel();
                        if (item != null && item != currentPerson)
                        {
                            var w = db2.ProfileModel.SingleOrDefault(x => x.UserName == item);
                            ment.UserName  = w.UserName;
                            ment.Name      = w.Name;
                            ment.UserPhoto = w.UserPhoto;
                            usersList.Add(ment);
                        }
                    }
                }
            }
            //пройти тест заново
            //return RedirectToAction("Index");
            //FindAssosiatesModel model = new FindAssosiatesModel();
            List <SelectListItem> listSelectListItems = new List <SelectListItem>();
            SelectListItem        selectList          = new SelectListItem()
            {
                Text     = "картопля",
                Value    = "1",
                Selected = true
            };

            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "курка",
                Value = "2"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "борщ",
                Value = "3"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "вареники",
                Value = "4"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "бутерброд",
                Value = "5"
            };
            listSelectListItems.Add(selectList);


            model.TegList1      = listSelectListItems;
            listSelectListItems = new List <SelectListItem>();

            selectList = new SelectListItem()
            {
                Text     = "в лісі",
                Value    = "1",
                Selected = true
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "в горах",
                Value = "2"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "на морі",
                Value = "3"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "вдома",
                Value = "4"
            };
            listSelectListItems.Add(selectList);
            selectList = new SelectListItem()
            {
                Text  = "не люблю",
                Value = "5"
            };
            listSelectListItems.Add(selectList);
            model.TegList2 = listSelectListItems;



            model.users = usersList;

            return(View("FindAssosiates", model));
        }