Exemplo n.º 1
0
        public int StartSession(string user, bool isFirstLogin)
        {
            int count = _db.UserQuestions.Count();
            int total = _db.Phrases.Count();

            var currentUser = _db.Users.First();

            if (total != count)
            {
                int minUserQuestion = _db.UserQuestions.Max(uq => uq.PhraseId);

                var newPhrases = _db.Phrases.Where(p => p.PhraseId > minUserQuestion);

                foreach (var phrase in newPhrases)
                {
                    var newUserQuestion = new UserQuestions()
                    {
                        User = currentUser, Phrase = phrase
                    };

                    _db.UserQuestions.Add(newUserQuestion);
                }
                _db.SaveChanges();
            }

            return(1);
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            ConsoleWriter writer = null;

            try                                                   //BugFix #2b
            {
                HttpClient httpClient = new HttpClient();

                JokeRepository jokeRepository = new JokeRepository(httpClient);
                NameRepository nameRepository = new NameRepository(httpClient);

                writer = new ConsoleWriter();
                IReader reader = new ConsoleReader(writer);

                UserQuestions    userQuestions    = new UserQuestions(reader, writer);
                UserInteractions userInteractions = new UserInteractions(writer, userQuestions);

                JokeService jokeService = new JokeService();

                ProgramRunner programRunner = new ProgramRunner(userInteractions, jokeRepository, nameRepository, jokeService);

                programRunner.Run();
            }
            catch (Exception)
            {
                if (writer != null)
                {
                    writer.WriteLine("Something went terribly wrong.");
                    writer.WriteLine("Are you sure you're connected to the internet?");
                }
            }
        }
Exemplo n.º 3
0
        public JsonResult SubmitAnswer(int answer)
        {
            int qid           = (int)Session["currentQuestion"];
            int correctAnswer = (from q in db.Questions
                                 where q.QuestionId == qid
                                 select q.Correct).FirstOrDefault();

            int uid = (int)Session["currentUser"];

            UserQuestions uq = (from u in db.UserQuestions
                                where u.UserId == uid && u.QuestionId == qid
                                select u).FirstOrDefault();

            uq.answered += 1;
            if (correctAnswer == answer)
            {
                uq.correct = true;
                db.SaveChanges();
                return(Json(new { redirectToUrl = Url.Action("AnswerCorrect", "Game") }));
                //return Json(new { redirectToUrl = "http://quiz-6.apphb.com/Game/AnswerCorrect" });
            }
            else
            {
                uq.correct = false;
                db.SaveChanges();
                return(Json(new { redirectToUrl = Url.Action("AnswerWrong", "Game") }));
                //return Json(new { redirectToUrl = "http://quiz-6.apphb.com/Game/AnswerWrong" });
            }
        }
Exemplo n.º 4
0
        private void searchAncwer(string question)
        {
            double        minVal = 0;
            int           minId  = -1;
            List <Double> q      = new List <double>();

            q = token(question);
            var a = (from p in model.DemandDescriptions
                     where p.TypeDemand.GroupDemand.SystemCollectionId == systemCollection.Id
                     select p).ToList();

            for (int i = 0; i < a.Count; i++)
            {
                List <Double> answer = new List <double>();
                answer = token(a[i].Description);
                double rast      = 0;
                double znamenat1 = 0;
                double znamenat2 = 0;
                double cheslit   = 0;
                for (int o = 0; o < answer.Count; o++)
                {
                    cheslit = q[o] * answer[o] + cheslit;

                    znamenat1 = Math.Pow(q[o], 2) + znamenat1;
                    znamenat2 = Math.Pow(answer[o], 2) + znamenat2;
                }
                rast = Math.Sqrt(znamenat1) * Math.Sqrt(znamenat2);
                rast = Math.Abs(cheslit) / rast;
                if (rast >= minVal && rast != 0)
                {
                    minId  = a[i].Id;
                    minVal = rast;
                }
            }
            if (minId != -1)
            {
                UserQuestions userQuestions = new UserQuestions();
                userQuestions.QuestionBody        = question;
                userQuestions.UserSystemsId       = systemCollection.Id;
                userQuestions.DemandDescriptionId = minId;
                userQuestions.DemandDescription   = model.DemandDescriptions.Find(minId);
                model.UserQuestions.Add(userQuestions);
                model.SaveChanges();
                richTextBox1.SelectionColor = Color.Teal;
                richTextBox1.AppendText(userQuestions.DemandDescription.Description);
            }
            else
            {
                UserQuestions userQuestions = new UserQuestions();
                userQuestions.QuestionBody        = question;
                userQuestions.UserSystemsId       = systemCollection.Id;
                userQuestions.DemandDescriptionId = null;
                model.UserQuestions.Add(userQuestions);
                model.SaveChanges();
                richTextBox1.SelectionColor = Color.Teal;
                richTextBox1.AppendText("Нет ответа на данный вопрос");
            }
        }
Exemplo n.º 5
0
        public static DataProviderResultModel GetUserQuestions(UserInfoRequestBody userInfo)
        {
            DataProviderResultModel result = new DataProviderResultModel();
            DataBaseOperator        dbo    = null;

            try
            {
                dbo = new DataBaseOperator();
                ParamCollections pc     = new ParamCollections();
                string           sqlStr = "select id,userId, content, url, feedback, adminId, createTime, replyTime from IFUserQuestions where userId = @iUserId";

                pc.Add("@iUserId", userInfo.userId);
                DataTable            dt   = dbo.GetTable(sqlStr, pc.GetParams(true));
                List <UserQuestions> list = new List <UserQuestions>();
                if (null != dt)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        UserQuestions questions = new UserQuestions();
                        questions.userId     = Convert.ToString(dt.Rows[i]["userId"]);
                        questions.id         = Convert.ToString(dt.Rows[i]["id"]);
                        questions.content    = Convert.ToString(dt.Rows[i]["content"]);
                        questions.feedback   = Convert.ToString(dt.Rows[i]["feedback"]);
                        questions.createTime = Convert.ToString(dt.Rows[i]["createTime"]);
                        questions.replyTime  = Convert.ToString(dt.Rows[i]["replyTime"]);
                        questions.url        = Convert.ToString(dt.Rows[i]["url"]);
                        list.Add(questions);
                    }
                    result.data   = list;
                    result.result = Result.SUCCESS;
                }
                else
                {
                    result.result  = Result.ERROR;
                    result.message = "The database logic error.Return data is null";
                }
            }
            catch (Exception ex)
            {
                result.result  = MainErrorModels.DATABASE_REQUEST_ERROR;
                result.message = "The database logic error.";
                Log.WriteErrorLog("v2::MineProvider::GetUserQuestions", "Error:{0}, {1}", JsonConvert.SerializeObject(userInfo), ex.Message);
            }
            finally
            {
                if (null != dbo)
                {
                    dbo.Close();
                    dbo = null;
                }
            }
            return(result);
        }
Exemplo n.º 6
0
        public ActionResult AnswerCorrect()
        {
            int           uid = (int)Session["currentUser"];
            UserBet       ub  = db.UserBet.Find(uid);
            int           cq  = (int)Session["currentQuestion"];
            UserQuestions uq  = (from q in db.UserQuestions
                                 where q.QuestionId == cq && q.UserId == uid
                                 select q).FirstOrDefault();

            ub.BetAmt += 2 * uq.betAmount;
            db.SaveChanges();
            return(View());
        }
Exemplo n.º 7
0
        public HttpResponseMessage PostProduct(UserQuestions item)
        {
            item.question = db.Questions.Find(item.QuestionId);
            item.user     = db.UserProfiles.Find(item.UserId);
            if (item.question.Correct == item.answered)
            {
                item.correct = true;
            }
            else
            {
                item.correct = false;
            }
            item = db.UserQuestions.Add(item);
            db.SaveChanges();
            var response = Request.CreateResponse <UserQuestions>(HttpStatusCode.Created, item);

            return(response);
        }
Exemplo n.º 8
0
        public async Task <int> AddAsync(UserQuestions userQuestions)
        {
            int id = 0;

            try
            {
                DataContext dataContext = new DataContext();
                var         entity      = await dataContext.UserQuestions.AddAsync(userQuestions);

                await dataContext.SaveChangesAsync();

                id = entity.Entity.Id;
            }
            catch (Exception e)
            {
                ClassLoger.Error("UserQuestionsDal.AddAsync", e);
            }
            return(id);
        }
Exemplo n.º 9
0
 public virtual void Dispose(bool disposing)
 {
     if (!_disposed)
     {
         if (disposing)
         {
             Answers.Dispose();
             Questions.Dispose();
             Results.Dispose();
             Tests.Dispose();
             Themes.Dispose();
             UserInfoes.Dispose();
             TempResults.Dispose();
             UserQuestions.Dispose();
             UserAnswers.Dispose();
             ApplicationRoleManagers.Dispose();
             ApplicationRoleManagers.Dispose();
         }
         _disposed = true;
     }
 }
Exemplo n.º 10
0
 public bool Post(UserQuestions changed)
 {
     return(impl.changeRating(changed.Id, changed.Rating));
 }
Exemplo n.º 11
0
        public ActionResult EnterDiaryData()
        {
            if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
            {
                //Setting up the Selection for the questions
                DiaryDataViewClass viewModel = new DiaryDataViewClass();
                viewModel.QUESTIONSELECTION = new QuestionsSelections();

                //Getting the current User for DB lookup
                string userId = System.Web.HttpContext.Current.User.Identity.GetUserId();
                // 20170213 Pandita: why is this maginc number 5 ???
                DateTime dateStop = DateTime.UtcNow.Date.AddDays(-5);

                //Looking up the questions for the user
                UserQuestions userQuestion = (from table in Db.UserQuestions
                                              where table.AspNetUserId.Equals(userId)
                                              select table).First();
                viewModel.UserQuestion = userQuestion;

                //Looking up for previously saved data
                // 20171023 Pandita: refactoring from LINQ-to-SQL to EF
                // IEnumerable<DiaryData> dataQuery = from table in Db.DiaryData
                //                                     where table.AspNetUserId.Equals(userId) && table.DateStamp.Date == DateTime.UtcNow.Date
                //                                   select table;

                var currentTime = DateTime.UtcNow.Date;
                IEnumerable <DiaryData> dataQuery = from table in Db.DiaryData
                                                    where table.AspNetUserId.Equals(userId) && System.Data.Entity.DbFunctions.TruncateTime(table.DateStamp) == currentTime
                                                    select table;

                bool todaysData = false;

                foreach (DiaryData diaryData in dataQuery)
                {
                    viewModel.DiaryData = diaryData;
                    todaysData          = true;
                }

                if (!todaysData)
                {
                    viewModel.DiaryData = new DiaryData()
                    {
                        AspNetUserId = userId
                    };
                }

                //Checking if the data is valid and directing to the page
                if (userQuestion.AspNetUserId == userId)
                {
                    //For AM/PM based questions - not yet fully implemented
                    //  if (DateTime.UtcNow.AddHours(10).ToString("tt") == "AM") viewModel.Morning = true;
                    return(View(viewModel));
                }
                //Clean error Handeling - takes user back to home page - may be changes to setup later on
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
Exemplo n.º 12
0
 public async Task <int> AddAsync(UserQuestions userQuestions)
 {
     return(await UserQuestionsDal.Ins.AddAsync(userQuestions));
 }
Exemplo n.º 13
0
        public JsonResult SubmitBet(int questionId, int betAmt)
        {
            HttpResponseMessage res;
            int uid = (int)Session["currentUser"];

            new LogEvent("questionId | SubmitBet " + questionId).Raise();
            new LogEvent("betAmt | SubmitBet " + betAmt).Raise();
            new LogEvent("uid | SubmitBet " + uid).Raise();
            if (questionId != null && betAmt != null && uid != null)
            {
                new LogEvent("In If | SubmitBet ").Raise();
                UserProfile up = (from u in db.UserProfiles
                                  where u.UserId == uid
                                  select u).FirstOrDefault();
                //UserProfile up = db.UserProfiles.Find(uid);
                new LogEvent("up | SubmitBet " + up.UserName).Raise();
                //Check if the question is already in UserQuestion table
                UserQuestions uq = (from u in db.UserQuestions
                                    where u.UserId == uid && u.QuestionId == questionId
                                    select u).FirstOrDefault();
                new LogEvent("uq | SubmitBet " + uq).Raise();
                //If not, create the UserQuestion
                if (uq == null)
                {
                    new LogEvent("Creating uq | SubmitBet ").Raise();
                    uq = new UserQuestions {
                        UserId = uid, QuestionId = questionId, betAmount = betAmt
                    };
                    uq.answered            = 0;
                    uq.correct             = false;
                    uq.question            = db.Questions.Find(uq.QuestionId);
                    uq.question.CategoryId = uq.question.Category.CategoryId;
                    uq.user = up;
                    db.UserQuestions.Add(uq);
                    if (uq.question == null)
                    {
                        uq.question = db.Questions.Find(uq.QuestionId);
                    }
                    new LogEvent("Created uq | SubmitBet " + uq.QuestionId).Raise();
                }
                if (uq.question == null)
                {
                    uq.question = db.Questions.Find(uq.QuestionId);
                }

                //check if the User and Category combo is already in the table
                var query = from u in db.UserCategories
                            where u.UserId == uid && u.CategoryId == uq.question.CategoryId
                            select u;
                UserCategories uc = query.FirstOrDefault();
                //if not, add the user and category combo into the table
                if (uc == null)
                {
                    uc = new UserCategories {
                        UserId = uid, totalQuestionsAnswered = 0
                    };
                    uc.category               = uq.question.Category;
                    uc.CategoryId             = uq.question.CategoryId;
                    uc.user                   = up;
                    uc.totalQuestionsAnswered = 0;
                    db.UserCategories.Add(uc);
                    // db.SaveChanges();
                }

                //increment the answered questions in the in the user category combo
                uc.totalQuestionsAnswered += 1;

                //get the UserBet and subtract the betAmt for the user
                UserBet ub = db.UserBet.Find(uid);
                ub.BetAmt -= betAmt;

                db.SaveChanges();
                res            = new HttpResponseMessage();
                res.StatusCode = HttpStatusCode.Accepted;
                new LogEvent("Working | SubmitBet").Raise();
            }
            else
            {
                res            = new HttpResponseMessage();
                res.StatusCode = HttpStatusCode.ExpectationFailed;
                new LogEvent("Failure | SubmitBet").Raise();
            }
            //return RedirectToAction("ShowQuestion", "Game");
            new LogEvent("coming to an end | SubmitBet").Raise();
            return(Json(new { redirectToUrl = Url.Action("ShowQuestion", "Game") }));
            //return Json(new { redirectToUrl = "http://quiz-6.apphb.com/Game/ShowQuestion" });
        }
Exemplo n.º 14
0
        /// <summary>
        /// 开始答题
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> StartAnswer()
        {
            QuestionsBll bll   = new QuestionsBll();
            var          list1 = await bll.GetList(QuestionsTypeEnum.ChoiceOne, 90);

            var list2 = await bll.GetList(QuestionsTypeEnum.ChoiceMore, 10);

            var list3 = await bll.GetList(QuestionsTypeEnum.FillInTheBlanks, 5);

            List <Questions> list = new List <Questions>();

            if (list1 != null)
            {
                list.AddRange(list1);
            }

            if (list2 != null)
            {
                list.AddRange(list2);
            }

            list = list.OrderBy(x => x.Id).ToList();
            UserAnswerLog    log    = new UserAnswerLog();
            UserAnswerLogBll logBll = new UserAnswerLogBll();

            log.CreateTime = DateTime.Now;
            log.UserId     = User.ID;
            int logid = await logBll.AddAsync(log);

            int index = 1;
            UserQuestionsBll     uqbll      = new UserQuestionsBll();
            OptionBll            obll       = new OptionBll();
            List <Option>        optionList = new List <Option>();
            List <UserQuestions> uoList     = new List <UserQuestions>();

            foreach (Questions questionse in list)
            {
                UserQuestions userQuestions = new UserQuestions();
                userQuestions.LogId       = logid;
                userQuestions.QIndex      = index;
                userQuestions.QuestionsId = questionse.Id;
                userQuestions.Id          = await uqbll.AddAsync(userQuestions);

                index++;
                var olist = await obll.GetList(questionse.Id);

                if (olist != null)
                {
                    optionList.AddRange(olist);
                }
                uoList.Add(userQuestions);
            }

            if (list3 != null)
            {
                foreach (Questions questionse in list3)
                {
                    UserQuestions userQuestions = new UserQuestions();
                    userQuestions.LogId       = logid;
                    userQuestions.QIndex      = index;
                    userQuestions.QuestionsId = questionse.Id;
                    userQuestions.Id          = await uqbll.AddAsync(userQuestions);

                    index++;
                    uoList.Add(userQuestions);
                }
            }

            ViewBag.optionList = optionList;
            list.AddRange(list3);
            ViewBag.list = list;
            return(View(uoList));
        }