public ActionResult PostQuestion()
        {

            try
            {
                if (!Request.IsAuthenticated)
                {
                    ViewBag.authErrorState = 402;

                    TempData["UQC"] = 3;
                }
                if (Request.IsAuthenticated)
                {

                    ViewBag.authErrorState = null;
                }
                ViewBag.cs = _db.Category.Select(m => m.CategoryName);

                var u = new ForumUser();

                var categories = _db.Category.Select(c => new
                {
                    CategoryID = c.CategoryId,

                    Category = c.CategoryName
                }).ToList();

                ViewBag.Categories = new SelectList(categories, "CategoryID", "Category");


                ViewData["QuestionLists"] = (_db.Questions.Join(_db.ForumUser, q => q.UserId, us => us.UserId,
                    (q, us) => new {q, us})
                    .Join(_db.Category, @t => @t.q.CategoryId, c => c.CategoryId, (@t, c) => new {@t, c})
                    .OrderByDescending(@t => @[email protected])
                    .Select(@t => new QuestionList()
                    {
                        Question = @[email protected],
                        Image = @[email protected],
                        PostedBy = @[email protected],
                        Posteddate = @[email protected],
                        Category = @t.c.CategoryName,
                        Answers = @[email protected],
                        Views = @[email protected],
                        Id = @[email protected]
                    }));
            }
            catch (Exception e)
            {

            }



            return View();
        }
        public ActionResult SignUp(UserSignUpModel model)
        {
            try
            {

                if (ModelState.IsValid)
                {

                    var users = new ForumUser();
                    var data = new byte[model.File.ContentLength];
                    model.File.InputStream.Read(data, 0, model.File.ContentLength);
                    model.Image = data;
                    users.Image = model.Image;
                    users.FirstName = model.FirstName;
                    users.LastName = model.LastName;
                    users.UserName = model.UserName;
                    users.Country = model.Country;
                    users.Email = model.Email;
                    users.Password = model.Password;
                    _db.ForumUser.Add(users);
                    _db.SaveChanges();
                    var pi = new PostInformation();

                    var u = _db.ForumUser.SingleOrDefault(m => m.UserName.Equals(model.UserName));
                    if (u != null)
                        pi.UserId = u.UserId;
                    pi.TotalAnsPost = 0;
                    pi.TotalCommentPost = 0;
                    pi.TotalQuesPost = 0;
                    pi.TotalValidPost = 0;
                    _db.PostInformation.Add(pi);
                    _db.SaveChanges();
                    return RedirectToAction("Login", "Account");

                }
            }
            catch (Exception)
            {
                Response.Write("<div id='logDialog'>");
                Response.Write("You must upload your Image.And Image must be of jpg typed");
                Response.Write("</div>");
                return View(model);
            }
            return View();
        }
        public ActionResult UpdateAccount(ForumUserProfile usetProfiles)
        {
            var user = new ForumUser();


            if (ModelState.IsValid)
            {
                int userId = _forumDb.ForumUser.Single(m => m.UserName.Equals(User.Identity.Name)).UserId;


                var userEmail = _forumDb.ForumUser.SingleOrDefault(email => email.Email == usetProfiles.EmailId);

                var u = _forumDb.ForumUser.SingleOrDefault(email => email.UserName.Equals(User.Identity.Name));
                if (u == null) return View();
                var authUserEmail = u.Email;




                if (usetProfiles.OldPassword == null)
                {
                    if (userEmail != null)
                    {
                        var v = _forumDb.ForumUser.SingleOrDefault(email => email.Email == usetProfiles.EmailId);
                        if (v == null) return View();
                        var userEmailId = v.Email;

                        if (userEmailId == authUserEmail)
                        {

                            user = _forumDb.ForumUser.Single(m => m.UserId == userId);
                            user.FirstName = usetProfiles.Fname;
                            user.LastName = usetProfiles.Lname;
                            user.Email = usetProfiles.EmailId;
                            _forumDb.Entry(user).State = EntityState.Modified;
                            _forumDb.SaveChanges();
                            Response.Write("<div id='acUpDialog'>");
                            Response.Write("<img src='/Png/exclamation_circle.png'>");
                            Response.Write("Account Updated Successfully");
                            Response.Write("</div>");
                            ViewBag.p = 1;
                        }

                        else
                        {
                            Response.Write("<div id='logDialog'>");
                            Response.Write("This Email already in use.It seems this is not your Email.Please enter your own email.");
                            Response.Write("</div>");
                            ViewBag.p = 2;
                        }
                    }

                    else
                    {

                        user = _forumDb.ForumUser.Single(m => m.UserId == userId);
                        user.FirstName = usetProfiles.Fname;
                        user.LastName = usetProfiles.Lname;
                        user.Email = usetProfiles.EmailId;
                        _forumDb.Entry(user).State = EntityState.Modified;
                        _forumDb.SaveChanges();
                        Response.Write("Account Updated Successfully");
                        ViewBag.p = 1;
                    }


                }
                else
                {
                    var userOldPass = _forumDb.ForumUser.SingleOrDefault(pass => pass.Password == usetProfiles.OldPassword);
                    if (userOldPass != null)
                    {
                        if (usetProfiles.NewPassword != null)
                        {

                            user = _forumDb.ForumUser.Single(m => m.UserId == userId);
                            user.FirstName = usetProfiles.Fname;
                            user.LastName = usetProfiles.Lname;
                            user.Email = usetProfiles.EmailId;
                            user.Password = usetProfiles.NewPassword;
                            _forumDb.Entry(user).State = EntityState.Modified;
                            _forumDb.SaveChanges();
                            Response.Write("Account Updated Successfully"); ;
                            ViewBag.p = 1;
                        }
                        else
                        {
                            Response.Write("<div id='logDialog'>");
                            Response.Write("You must enter a new password to change password.");
                            Response.Write("</div>");
                            ViewBag.p = 3;
                        }
                    }
                    else
                    {
                        Response.Write("<div id='logDialog'>");
                        Response.Write("<img src='/Png/cancel(1).png' id='p'/><div id='t'>Sorry,Your old<b> Password</b> you typed  is not correct</div>");
                        Response.Write("</div>");
                        ViewBag.p = 5;
                    }
                }
            }












            return View();


        }