Exemple #1
0
        public ResponseMessageModels LikeQuestion(QuestionLike mQuestionLike)
        {
            ResponseMessageModels result = new ResponseMessageModels();
            var likes = (from u in db.QuestionLikes
                         where u.UserId == mQuestionLike.UserId && u.QuestionId == mQuestionLike.QuestionId
                         select u).FirstOrDefault();
            Question question = db.Questions.Find(mQuestionLike.QuestionId);

            if (likes == null)
            {
                db.QuestionLikes.Add(mQuestionLike);
                question.LikeCount++;
                db.SaveChanges();
                result.status  = 1;
                result.message = "Liked";
                result.data    = (from like in db.QuestionLikes where like.QuestionId == mQuestionLike.QuestionId select mQuestionLike.Id).Count();
                return(result);
            }
            db.QuestionLikes.Remove(likes);
            question.LikeCount--;
            question.LikeCount = question.LikeCount > 0 ? question.LikeCount-- : 0;
            db.SaveChanges();
            result.status  = 2;
            result.message = "Dislike";
            result.data    = question.LikeCount;
            return(result);
        }
Exemple #2
0
 public ActionResult Register(UserRegisterModel userRegisterModel)
 {
     if (ModelState.IsValid)
     {
         if (CommonUtils.IsValidEmail(userRegisterModel.Email))
         {
             if (userRegisterModel.HashPass.Equals(userRegisterModel.ConfirmHashPass))
             {
                 if (!UserExists(userRegisterModel.Email))
                 {
                     User mUser = new User(userRegisterModel);
                     db.Users.Add(mUser);
                     db.SaveChanges();
                 }
                 else
                 {
                     ModelState.AddModelError("", "Confirm Password is not correct!");
                 }
             }
             else
             {
                 ModelState.AddModelError("", "Confirm Password is not correct!");
             }
         }
         else
         {
             ModelState.AddModelError("", "Email not match!");
         }
     }
     return(View("Index"));
 }
Exemple #3
0
        public ResponseMessageModels EditQuestion(Question mQuestion)
        {
            ResponseMessageModels result = new ResponseMessageModels();
            Question question            = db.Questions.Find(mQuestion.Id);

            if (question == null || mQuestion.UserId != question.UserId)
            {
                result.status  = 0;
                result.message = "Unknown Error";
                result.data    = null;
                return(result);
            }
            question.Title = question.Title;
            db.SaveChanges();
            result.status  = 1;
            result.message = "Edit Question Successfully";
            result.data    = null;
            return(result);
        }
Exemple #4
0
        public ResponseMessageModels RemoveCommentQuestion(QuestionComment mComment)
        {
            ResponseMessageModels result  = new ResponseMessageModels();
            QuestionComment       comment = db.QuestionComments.Find(mComment.Id);

            if (comment.UserId == mComment.UserId)
            {
                db.QuestionComments.Remove(comment);
                db.SaveChanges();
                result.status  = 1;
                result.message = "Remove Comment Successfully";
                result.data    = null;
            }
            else
            {
                result.status  = 0;
                result.message = "Can't Remove Comment";
                result.data    = null;
            }
            return(result);
        }
Exemple #5
0
        public ResponseMessageModels AnswerQuestion(QuestionAnswer mQuestionAnswer)
        {
            ResponseMessageModels result = new ResponseMessageModels();

            mQuestionAnswer.AnsweredDate = DateTime.Now;
            db.QuestionAnswers.Add(mQuestionAnswer);
            Choice   choice   = db.Choices.Find(mQuestionAnswer.ChoiceId);
            Question question = db.Questions.Find(mQuestionAnswer.QuestionId);

            choice.SelectedCount++;
            question.AnswerCount++;
            db.SaveChanges();
            result.status   = 1;
            result.message  = "Answered";
            result.data     = question.AnswerCount;
            result.datetime = mQuestionAnswer.AnsweredDate;
            return(result);
        }
Exemple #6
0
        public ResponseMessageModels LoginWithSNS(User mUser)
        {
            ResponseMessageModels result = new ResponseMessageModels();

            if (mUser.SnsId == null)
            {
                result.status  = 0;
                result.message = "Login Faild";
                result.data    = null;
                return(result);
            }
            mUser.Email = mUser.Email + ".com";
            int id = SnsIdExists(mUser);

            if (id == -1)
            {
                if (UserExists(mUser.Email))
                {
                    result.status  = 3;
                    result.message = "Email is Exists";
                    result.data    = null;
                    return(result);
                }
                mUser.CreatedDate = DateTime.Now;
                db.Users.Add(mUser);
                db.SaveChanges();
                var putBack = (from u in db.Users
                               where u.Id == mUser.Id
                               select new
                {
                    id = u.Id,
                    email = u.Email,
                    username = u.UserName,
                    thumbnail = u.Thumbnail,
                    snsid = u.SnsId,
                    type = u.Type,
                    created_date = u.CreatedDate
                }).FirstOrDefault();
                result.status  = 1;
                result.message = "Register With Facebook Success";
                result.data    = putBack;
                return(result);
            }
            mUser.Id = id;
            User user = db.Users.SingleOrDefault(u => u.Id == mUser.Id);

            if (user == null)
            {
                result.status  = 2;
                result.message = "Error: User ID Invalid";
                result.data    = null;
                return(result);
            }
            user.Email     = mUser.Email;
            user.UserName  = mUser.UserName;
            user.Thumbnail = mUser.Thumbnail;
            db.SaveChanges();
            var putBackUser = (from u in db.Users
                               where u.Id == mUser.Id
                               select new
            {
                id = u.Id,
                email = u.Email,
                username = u.UserName,
                thumbnail = u.Thumbnail,
                snsid = u.SnsId,
                type = u.Type,
                created_date = u.CreatedDate
            }).FirstOrDefault();

            result.status  = 1;
            result.message = "Login With Facebook Success";
            result.data    = putBackUser;
            return(result);
        }