コード例 #1
0
        public static object SelectionWithId(int[] id)
        {
            List <ClientUser> userList = new List <ClientUser>();

            using (DatingContext db = new DatingContext())
            {
                for (int i = 0; i < id.Length; i++)
                {
                    int currentId = id[i];
                    userList.Add(new ClientUser(db.SiteUsers.FirstOrDefault(x => x.id == currentId)));
                }
            }
            List <Avatar> avatars = AvatarsController.GetAvatars(id);

            return(new { userList, avatars, id });
        }
コード例 #2
0
        public IHttpActionResult GetOneSiteUser(int id)
        {
            ClientUser siteUser = new ClientUser(db.SiteUsers.Find(id));

            if (siteUser == null)
            {
                return(NotFound());
            }
            //Avatar avatar = db.Avatars.FirstOrDefau lt(x => x.siteUserId == id &&
            //                                             x.confirmState == "Confirmed");
            List <Avatar> avatar = AvatarsController.GetAvatars(new int[1] {
                id
            });

            return(Ok(new { siteUser, avatar }));
        }
コード例 #3
0
        private object SortByFilter(Filter filter, int page)// List<ClientUser>
        {
            if (filter.nameForSearch == null)
            {
                filter.nameForSearch = "";
            }


            int startNum = (page - 1) * 12;
            int from     = 0;
            int to       = 0;

            int    ageFilterid  = filter.ageForSearch;
            string ageForSearch = db.AgeForSearch.FirstOrDefault(x => x.id == ageFilterid).rangeOfAge;

            if (ageForSearch != "All")
            {
                from = Convert.ToInt32(ageForSearch.Split(' ')[0]);
                if (from == 53)
                {
                    to = 200;
                }
                else
                {
                    to = Convert.ToInt32(ageForSearch.Split(' ')[2]);
                }
            }

            //Filter allFiter=new Filter();
            //allFiter.ageForSearch = db.AgeForSearch.FirstOrDefault(x => x.rangeOfAge == "All").id;
            //allFiter.cityForSearch = db.Cities.FirstOrDefault(x => x.cityName == "All").id;
            //allFiter.genderForSearch = db.TypeForSearch.FirstOrDefault(x => x.typeName == "All").id;

            if (filter.nameForSearch == null)
            {
                filter.nameForSearch = "";
            }
            using (DatingContext db = new DatingContext())
            {
                List <SiteUser> SUsers = db.SiteUsers.Where(x =>
                                                            ((DateTime.Now.Year - x.birthDay.Year >= from && DateTime.Now.Year - x.birthDay.Year <= to) || filter.ageForSearch == -1) &&
                                                            (x.cityid == filter.cityForSearch || filter.cityForSearch == -1) &&
                                                            (x.typeForSearchid == filter.typeForSearch || filter.typeForSearch == -1) &&
                                                            x.id != filter.id &&
                                                            (x.online == filter.isOnline || x.online == true) &&//online == false тогда фильтр по онлайну отключени и true || false делает выборку всего "игнорируя" этот пункт, если же включен, то выходит true||true тоесть фильтр по онлайну работает
                                                            (x.name.ToLower().Contains(filter.nameForSearch.ToLower()))
                                                            ).OrderBy(x => x.name).Skip(startNum).Take(12).ToList();

                SUsers.Add(db.SiteUsers.FirstOrDefault(x => x.id == filter.id));

                List <ClientUser> userList = new List <ClientUser>();
                foreach (SiteUser user in SUsers)
                {
                    userList.Add(new ClientUser(user));
                }

                List <int> id = new List <int>();//На фронтеэнде его отправим в вебсокет обновления статуса
                for (int i = 0; i < userList.Count; i++)
                {
                    id.Add(userList[i].id);
                }
                List <Avatar> avatars = AvatarsController.GetAvatars(id.ToArray());
                //object sendData = new { userList, avatars };
                return(new { userList, avatars, id });
            }
        }