Example #1
0
 public ActionResult Refusal(int module)
 {
     if (Identity.isAuthentication)
     {
         UserInQuestDTO userInQuestDTO = UserInQuestServices.GetAll().FirstOrDefault(x => x.QuestId == module && x.UserId == Identity.user.Id && x.StatusId == 1);
         userInQuestDTO.StatusId = 2;
         UserInQuestServices.Update(userInQuestDTO);
     }
     return(RedirectToAction("InformQuest/" + module));
 }
Example #2
0
        public ActionResult Participate(int module)
        {
            if (Identity.isAuthentication)
            {
                UserInQuestDTO userInQuestDTO = new UserInQuestDTO();
                userInQuestDTO.UserId   = Identity.user.Id;
                userInQuestDTO.QuestId  = module;
                userInQuestDTO.StatusId = 1;
                UserInQuestServices.Create(userInQuestDTO);
            }


            return(RedirectToAction("InformQuest/" + module));
        }
Example #3
0
        public ActionResult InformQuest(int module)
        {
            ViewBag.Page   = page.setView("InformQuest").setTitle("Information - Quest / NEW WORLD");
            ViewBag.Method = HttpContext.Request.HttpMethod;

            QuestDTO questDTO = QuestServices.Get(module);

            if (questDTO == null)
            {
                return(HttpNotFound());
            }

            bool            userStart = false;
            bool            can       = false;
            List <PrizeDTO> prize     = PrizeServices.GetAll().Where(x => x.QuestId == questDTO.Id).ToList();

            if (Identity.isAuthentication)
            {
                userStart = !UserInQuestServices.GetAll().Any(x => x.UserId == Identity.user.Id && x.StatusId == 1 && questDTO.Id == x.QuestId);
                //если false то не может участвовать


                List <UserInQuestDTO> userInQuest = UserInQuestServices.GetAll().Where(x => x.UserId == Identity.user.Id && x.StatusId == 1).ToList();
                can = QuestServices.GetAll()
                      .Any(x => userInQuest.Any(s => x.Id == s.QuestId) &&
                           Math.Abs(questDTO.StartQuest.Subtract(x.StartQuest).TotalHours) < 5);
                //если true то не может участвовать
            }

            ViewBag.userStart   = userStart;
            ViewBag.can         = can;
            ViewBag.prize       = prize;
            ViewBag.countPeople = questDTO.countPeople;


            return(View(questDTO));
        }
Example #4
0
        public JsonResult SearchLines()
        {
            string Search = Request.Form["Search"];
            int    id     = Convert.ToInt32(Request.Form["id"]);

            List <QuestDTO>       quest       = QuestServices.GetAll().Where(x => x.Name.ToLower().Contains(Search.ToLower())).ToList();
            List <UserInQuestDTO> userInQuest = UserInQuestServices.GetAll();
            List <SearchLine>     blocks      = new List <SearchLine>();
            int count = 0;

            if (id == 1)
            {
                blocks.AddRange(quest
                                .Where(x => x.StartQuest > DateTime.Now && x.StartQuest < DateTime.Now.AddDays(2)).Where(x => x.LimitOfPeople > x.countPeople)
                                .OrderByDescending(x => x.StartQuest).ThenBy(x => x.Name)
                                .Select(x => new SearchLine()
                {
                    Type = "Квест", Value = x.Name
                }));
            }
            else if (id == 2)
            {
                blocks.AddRange(quest
                                .Where(x => x.StartQuest > DateTime.Now).Where(x => x.LimitOfPeople > x.countPeople)
                                .OrderByDescending(x => x.countPeople).ThenBy(x => x.Name)
                                .Select(x => new SearchLine()
                {
                    Type = "Квест", Value = x.Name
                }));
            }
            else if (id == 3)
            {
                blocks.AddRange(quest
                                .Where(x => x.StartQuest > DateTime.Now).Where(x => x.LimitOfPeople > x.countPeople)
                                .OrderByDescending(x => x.DateCreate).ThenBy(x => x.Name)
                                .Select(x => new SearchLine()
                {
                    Type = "Квест", Value = x.Name
                }));
            }
            else if (id == 4)
            {
                blocks.AddRange(quest
                                .Where(x => x.LimitOfPeople > x.countPeople)
                                .OrderByDescending(x => x.Id).ThenBy(x => x.Name)
                                .Select(x => new SearchLine()
                {
                    Type = "Квест", Value = x.Name
                }));
            }
            else if (id == 5 && Identity.isAuthentication)
            {
                blocks.AddRange(quest
                                .Where(x => x.Creater == Identity.user.Id)
                                .OrderByDescending(x => x.DateCreate).ThenBy(x => x.Name)
                                .Select(x => new SearchLine()
                {
                    Type = "Квест", Value = x.Name
                }));
            }
            else if (id == 6 && Identity.isAuthentication)
            {
                blocks.AddRange(quest
                                .Where(x => x.userInQuestDTO.Any(s => s.UserId == Identity.user.Id))
                                .OrderByDescending(x => x.DateCreate).ThenBy(x => x.Name)
                                .Select(x => new SearchLine()
                {
                    Type = "Квест", Value = x.Name
                }));
            }
            else
            {
                blocks.Select(x => new SearchLine()
                {
                    Type = "", Value = ""
                });
            }
            return(Json(blocks));
        }