Ejemplo n.º 1
0
        public ActionResult ChangePassword(ChangePasswordModel model, string command)
        {
            TempData["AlertMessage"] = "";
            if (string.IsNullOrEmpty(command))
            {
                if (ModelState.IsValid)
                {
                    // ChangePassword will throw an exception rather
                    // than return false in certain failure scenarios.
                    bool changePasswordSucceeded = false;
                    try
                    {
                        if (model.NewPassword == model.ConfirmPassword && Regex.Match(model.NewPassword, @"^.*(?=.{8,20})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&+=]).*$").Success)
                        {
                            var userContext = new Contexts.UsersContexts();
                            var md5HashOld  = model.OldPassword;
                            var md5HashNew  = model.NewPassword;
                            changePasswordSucceeded = userContext.ChangePassword(md5HashOld, md5HashNew, User.Identity.Name);
                        }
                        else if (!Regex.Match(model.NewPassword, @"^.*(?=.{8,20})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&+=]).*$").Success)
                        {
                            TempData["AlertMessage"] = "Password must be 8 to 20 alphanumeric characters including one uppercase letter, one lowercase letter and one special character.";
                            return(View(model));
                        }
                        else
                        {
                            TempData["AlertMessage"] = "Confirm New Password should be same as New Password.";
                            return(View(model));
                        }
                    }
                    catch (Exception ex)
                    {
                        changePasswordSucceeded = false;
                    }

                    if (changePasswordSucceeded)
                    {
                        FormsAuthentication.SignOut();
                        Session.Abandon();
                        return(RedirectToAction("Login", "Account", new { isChanged = "1" }));
                    }
                    else
                    {
                        ModelState.AddModelError("OldPassword", "The current password is incorrect.");
                    }
                }
                // If we got this far, something failed, redisplay form
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Ejemplo n.º 2
0
        public UserRoleModel(short RoleId, int UserRoleID, int UserID)
        {
            var _roleContext = new Contexts.RolesContexts();
            var _userContext = new Contexts.UsersContexts();

            //this.UserRoles = new HashSet<UserRoleModel>();
            this.UserRoleID = UserRoleID;
            this.UserID     = UserID;
            this.RoleID     = RoleId;
            this.Role       = _roleContext.GetRoles().AsEnumerable();
            this.User       = _userContext.GetUsers().AsEnumerable();
        }
Ejemplo n.º 3
0
        public JsonResult Delete(int?userId)
        {
            Session["Edit/Delete"] = "Delete";
            var userContext       = new Contexts.UsersContexts();
            var UsersRolesContext = new Contexts.UsersRolesContext();

            if (userId.HasValue)
            {
                try
                {
                    if (userContext != null)
                    {
                        var userRoleList = UsersRolesContext.GetUsersRoles().Where(x => x.UserID == userId).FirstOrDefault();
                        var UserRoleID   = userRoleList.UserRoleID;
                        var RoleID       = userRoleList.RoleID;
                        if (RoleID == 1 || RoleID == 2)
                        {
                            userContext.DeleteUsers(userId);
                            UsersRolesContext.DeleteUsersRole(UserRoleID);
                            TempData["AlertMessage"] = "User deleted successfully.";
                        }
                        else
                        {
                            TempData["AlertMessage"] = "Some error occured while deleting the User, Please try again later.";
                        }
                    }
                }
                catch
                {
                    TempData["AlertMessage"] = "Some error occured while deleting the User, Please try again later.";
                }
            }
            var rvd   = new RouteValueDictionary();
            int?Page  = 1;
            var count = 1;

            count = userContext.GetUsers().Count();
            var page     = Request.QueryString["page"] ?? Models.Common._currentPage.ToString();
            var pagesize = Request.QueryString["pagesize"] ?? Models.Common._pageSize.ToString();

            if (Convert.ToInt32(page) > 1)
            {
                Page = count > ((Convert.ToInt32(page) - 1) * Convert.ToInt32(pagesize)) ? Convert.ToInt32(page) : (Convert.ToInt32(page)) - 1;
            }
            rvd.Add("page", Page);
            rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "FirstName");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Ascending");
            rvd.Add("pagesize", pagesize);
            return(Json(Url.Action("BlogUserListing", "User", rvd)));
        }
Ejemplo n.º 4
0
        public ActionResult CreateUser(int?userid)
        {
            Session["Edit/Delete"] = "Edit";
            var _userContext = new Contexts.UsersContexts();
            var _userModel   = new UsersModel();

            ViewBag.Title  = (userid.HasValue ? "Edit " : "Add ") + " User ";
            ViewBag.Submit = userid.HasValue && userid.Value > 0 ? "Update" : "Save";
            bool isActive = true;

            if (userid.HasValue && userid.Value > 0)
            {
                if (_userModel != null)
                {
                    _userModel = _userContext.GetUsers().Where(x => x.UserID == userid).FirstOrDefault();
                    isActive   = _userModel.StatusInd;
                }
            }
            ViewBag.StatusInd = Models.Common.GetStatusListBoolean(isActive ? "true" : "false");
            return(View(_userModel));
        }
Ejemplo n.º 5
0
        public ActionResult CreateUserRole(int?UserID)
        {
            Session["Edit/Delete"] = "Edit";
            var _userroleContext = new Contexts.UsersRolesContext();
            var _userContext     = new Contexts.UsersContexts();
            var _roleContext     = new Contexts.RolesContexts();
            var _userroleModel   = new UserRoleModel();

            ViewBag.Title  = (UserID.HasValue ? "Edit " : "Add ") + " User Role Details ";
            ViewBag.Submit = UserID.HasValue && UserID.Value > 0 ? "Update" : "Save";
            ViewBag.Role   = new SelectList(_roleContext.GetRoles().ToList(), "RoleID", "RoleName");
            if (UserID.HasValue && UserID.Value > 0)
            {
                if (_userroleModel != null)
                {
                    _userroleModel          = _userroleContext.GetUsersRoles().Where(x => x.UserID == UserID).FirstOrDefault();
                    _userroleModel.UserName = _userContext.GetUsers().Where(x => x.UserID == _userroleModel.UserID).Select(x => x.UserNameTxt).FirstOrDefault();
                }
            }
            return(View(_userroleModel));
        }
Ejemplo n.º 6
0
        public ActionResult CreateBlog(BlogsModel _Blogsmodel, string command, FormCollection fm)
        {
            Session["Edit/Delete"] = "Edit";
            var file = Request.Files.Count > 0 ? Request.Files[0] : null;

            ViewBag.Title  = (_Blogsmodel.BlogID > 0 ? "Edit " : "Add ") + " Post Details ";
            ViewBag.Submit = _Blogsmodel.BlogID > 0 ? "Update" : "Save";
            bool isActive = true, allowComments = true;

            _Blogsmodel.TagList = GetAllTags();
            var _UsersContexts      = new Contexts.UsersContexts();
            var _CategoriesContexts = new Contexts.CategoriesContexts();
            var BlogsContext        = new Contexts.BlogsContexts();
            var TagContext          = new Contexts.TagsContexts();

            ViewBag.AuthorName = new SelectList(_UsersContexts.GetUserList(_Blogsmodel.AuthorNameID), "UserID", "UserNameTxt");//Author drop down listing
            ViewBag.Category   = new SelectList(_CategoriesContexts.GetSelectedCategories(string.Empty), "CategoryID", "CategoryNameTxt");

            if (string.IsNullOrEmpty(command))
            {
                isActive      = _Blogsmodel.IsActiveInd;
                allowComments = _Blogsmodel.IsCommentEnabledInd;
                ViewBag.IsCommentEnabledInd = Models.Common.GetStatusListBoolean(allowComments ? "true" : "false");
                ViewBag.IsActiveInd         = Models.Common.GetStatusListBoolean(isActive ? "true" : "false");
                _Blogsmodel.SocialMediaList = GetAllSocialMedia();
                _Blogsmodel.strCategoryid   = Convert.ToString(_Blogsmodel.strCategoryid);
                if (BlogsContext.GetBlogs().Where(x => x.TitleTxt == _Blogsmodel.TitleTxt && _Blogsmodel.BlogID != x.BlogID).Any())
                {
                    ModelState.AddModelError("TitleTxt", _Blogsmodel.TitleTxt + " Post already exists.");
                    return(View(_Blogsmodel));
                }

                if (_Blogsmodel.SlagTxt.ToLower() == "error404") //check 404 error
                {
                    ModelState.AddModelError("SlagTxt", _Blogsmodel.SlagTxt + " URL is not allowed.");
                    return(View(_Blogsmodel));
                }

                try
                {
                    //Save image path
                    if (file != null && file.ContentLength > 0)
                    {
                        #region Upload Image
                        Models.Common.CreateFolder();
                        var croppedfile = new System.IO.FileInfo(Server.MapPath(TempData["CroppedImage"].ToString()));
                        var fileName    = croppedfile.Name;
                        croppedfile = null;
                        var sourcePath = Server.MapPath(TempData["CroppedImage"].ToString());
                        var targetPath = Request.PhysicalApplicationPath + "WebData\\";
                        System.IO.File.Copy(System.IO.Path.Combine(sourcePath.Replace(fileName, ""), fileName), System.IO.Path.Combine(targetPath + "images\\", fileName), true);
                        try
                        {
                            Models.Common.DeleteImage(Server.MapPath(TempData["CroppedImage"].ToString()));
                        }
                        catch
                        {
                        }
                        TempData["CroppedImage"] = null;

                        _Blogsmodel.ImagePathTxt = "~/WebData/images/" + fileName;
                        var width         = 250;
                        var fileExtension = fileName.Substring(fileName.LastIndexOf("."), fileName.Length - fileName.LastIndexOf("."));
                        var strPath       = Request.PhysicalApplicationPath + "WebData\\images\\" + fileName;
                        var myImage       = Models.Common.CreateImageThumbnail(strPath, width);
                        myImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails\\" + fileName,
                                     fileExtension.ToLower() == ".png" ?
                                     System.Drawing.Imaging.ImageFormat.Png :
                                     fileExtension.ToLower() == ".gif" ?
                                     System.Drawing.Imaging.ImageFormat.Gif :
                                     System.Drawing.Imaging.ImageFormat.Jpeg
                                     );
                        myImage.Dispose();
                        var mysmallImage = Models.Common.CreateImageThumbnail(strPath, 200);
                        mysmallImage.Save(Request.PhysicalApplicationPath + "WebData\\thumbnails_Small\\" + fileName,
                                          fileExtension.ToLower() == ".png" ?
                                          System.Drawing.Imaging.ImageFormat.Png :
                                          fileExtension.ToLower() == ".gif" ?
                                          System.Drawing.Imaging.ImageFormat.Gif :
                                          System.Drawing.Imaging.ImageFormat.Jpeg
                                          );
                        mysmallImage.Dispose();
                        #endregion
                    }
                    else
                    {
                        _Blogsmodel.ImagePathTxt = BlogsContext.GetBlogs().Where(x => x.BlogID == _Blogsmodel.BlogID).Select(x => x.ImagePathTxt).FirstOrDefault();
                    }
                    if (ViewBag.Submit == "Save")
                    {
                        BlogsContext.AddBlogs(_Blogsmodel);
                        TempData["AlertMessage"] = "Post details saved successfully.";
                    }
                    else
                    {
                        BlogsContext.EditBlogs(_Blogsmodel, false);
                        TempData["AlertMessage"] = "Post details updated successfully.";
                    }
                }
                catch (Exception ex)
                {
                    TempData["AlertMessage"] = "Some error occured, Please try after some time. " + ex.Message;
                }
            }
            var rvd = new RouteValueDictionary();
            rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "PostedDate");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Descending");
            rvd.Add("pagesize", Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : Models.Common._pageSize.ToString());
            rvd.Add("page", Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : Models.Common._currentPage.ToString());
            return(RedirectToAction("BlogsListing", "Blogs", rvd));
        }
Ejemplo n.º 7
0
        public ActionResult CreateBlog(int?Blogid)
        {
            var _BlogsContexts      = new Contexts.BlogsContexts();
            var _CategoriesContexts = new Contexts.CategoriesContexts();
            var _UsersContexts      = new Contexts.UsersContexts();
            var _BlogsModel         = new BlogsModel();

            ViewBag.Title  = (Blogid.HasValue ? "Edit " : "Add ") + " Post Details ";
            ViewBag.Submit = Blogid.HasValue && Blogid.Value > 0 ? "Update" : "Save";

            bool isActive = true, allowComments = true;

            _BlogsModel.TagList         = GetAllTags();
            _BlogsModel.SocialMediaList = GetAllSocialMedia();
            try
            {
                var taglist = ViewBag.Tag = string.Join(",", _BlogsModel.TagList.Select(x => x.Text));
                if (Blogid.HasValue && Blogid.Value > 0)
                {
                    _BlogsModel = _BlogsContexts.GetBlogs().Where(x => x.BlogID == Blogid).FirstOrDefault();
                    if (_BlogsModel != null)
                    {
                        isActive                  = _BlogsModel.IsActiveInd;
                        allowComments             = _BlogsModel.IsCommentEnabledInd;
                        _BlogsModel.strCategoryid = Convert.ToString(_BlogsModel.CategoryID);

                        var selecetdtagNamearray = Array.ConvertAll <string, string>(_BlogsContexts.GetFormBlogTags(Blogid.Value).ToArray(),
                                                                                     delegate(string i)
                        {
                            return((string)i.ToString());
                        });

                        var selecetdtagIDarray = Array.ConvertAll <string, string>(_BlogsContexts.GetFormBlogTagsIDList(Blogid.Value).ToArray(),
                                                                                   delegate(string i)
                        {
                            return((string)i.ToString());
                        });

                        var selecetdSocialMediasarray = Array.ConvertAll <int, string>(_BlogsContexts.GetFormBlogSocialMedia(Blogid.Value).ToArray(),
                                                                                       delegate(int i)
                        {
                            return((string)i.ToString());
                        });

                        var UserList = _UsersContexts.GetUser(_BlogsModel.AuthorNameTxt);                                                                //User list based on userid
                        _BlogsModel.AuthorNameID        = Convert.ToString(UserList != null ? UserList.UserID : 0);                                      //UserID
                        ViewBag.Category                = new SelectList(_CategoriesContexts.GetSelectedCategories(Convert.ToString(_BlogsModel.CategoryID)), "CategoryID", "CategoryNameTxt");
                        ViewBag.AuthorName              = new SelectList(_UsersContexts.GetUserList(_BlogsModel.AuthorNameID), "UserID", "UserNameTxt"); //Author drop down listing
                        _BlogsModel.TagList             = GetAllTags();
                        _BlogsModel.SocialMediaList     = GetAllSocialMedia();
                        _BlogsModel.SelectedTags        = selecetdtagNamearray;
                        _BlogsModel.SelectedTagsID      = selecetdtagIDarray;
                        _BlogsModel.SelectedSocialMedia = selecetdSocialMediasarray;
                    }
                }
                else
                {
                    ViewBag.Category   = new SelectList(_CategoriesContexts.GetSelectedCategories(string.Empty), "CategoryID", "CategoryNameTxt");
                    ViewBag.AuthorName = new SelectList(_UsersContexts.GetUserList(string.Empty), "UserID", "UserNameTxt");//Author drop down listing
                    string[] Tagsarr = new string[] { "0" };
                    _BlogsModel.SelectedTagsID = Tagsarr;
                }
            }
            catch (Exception ex)
            {
                ViewBag.Category   = new SelectList(_CategoriesContexts.GetSelectedCategories(string.Empty), "CategoryID", "CategoryNameTxt");
                ViewBag.AuthorName = new SelectList(_UsersContexts.GetUserList(string.Empty), "UserID", "UserNameTxt");//Author drop down listing
                string[] Tagsarr = new string[] { "0" };
                _BlogsModel.SelectedTagsID = Tagsarr;
            }
            ViewBag.IsCommentEnabledInd = Models.Common.GetStatusListBoolean(allowComments ? "true" : "false");
            ViewBag.IsActiveInd         = Models.Common.GetStatusListBoolean(isActive ? "true" : "false");
            return(View(_BlogsModel));
        }
Ejemplo n.º 8
0
        public ActionResult BlogUserListing(GridSortOptions gridSortOptions, int?pagetype, int?page, int?pagesize, FormCollection fm, string objresult)
        {
            var _objContext = new Contexts.UsersContexts();

            ViewBag.Title = " User Listing";
            var _userModel = new UsersModel();
            var isAdminChangedhisOwnStatus = 0;

            #region Ajax Call
            if (objresult != null)
            {
                AjaxRequest objAjaxRequest = JsonConvert.DeserializeObject <AjaxRequest>(objresult);//Convert json String to object Model
                if (objAjaxRequest.ajaxcall != null && !string.IsNullOrEmpty(objAjaxRequest.ajaxcall) && objresult != null && !string.IsNullOrEmpty(objresult))
                {
                    if (objAjaxRequest.ajaxcall == "paging")       //Ajax Call type = paging i.e. Next|Previous|Back|Last
                    {
                        Session["pageNo"] = page;                  // stores the page no for status
                    }
                    else if (objAjaxRequest.ajaxcall == "sorting") //Ajax Call type = sorting i.e. column sorting Asc or Desc
                    {
                        page = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                        Session["GridSortOption"] = gridSortOptions;
                        pagesize = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"].ToString()) : pagesize);
                    }
                    else if (objAjaxRequest.ajaxcall == "ddlPaging")//Ajax Call type = drop down paging i.e. drop down value 10, 25, 50, 100, ALL
                    {
                        Session["PageSize"]       = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : pagesize);
                        Session["GridSortOption"] = gridSortOptions;
                        Session["pageNo"]         = page;
                    }
                    else if (objAjaxRequest.ajaxcall == "status")//Ajax Call type = status i.e. Active/Inactive
                    {
                        page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    else if (objAjaxRequest.ajaxcall == "displayorder")//Ajax Call type = Display Order i.e. drop down values
                    {
                        page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    objAjaxRequest.ajaxcall = null;; //remove parameter value
                }

                //Ajax CAll for update status for images
                if (objAjaxRequest.hfid != null && objAjaxRequest.hfvalue != null && !string.IsNullOrEmpty(objAjaxRequest.hfid) && !string.IsNullOrEmpty(objAjaxRequest.hfvalue) && objresult != null && !string.IsNullOrEmpty(objresult) && objAjaxRequest.hfvalue.ToString().Trim().ToLower() != "displayOrder".Trim().ToLower())
                {
                    var id1  = Convert.ToInt64(objAjaxRequest.hfid);
                    var user = _objContext.GetUsers().Where(x => x.UserID == id1).FirstOrDefault();
                    if (user != null)
                    {
                        //CategoryID = Convert.ToInt32(Request.QueryString["CategoryID"]);
                        user.StatusInd = objAjaxRequest.hfvalue == "1";
                        try
                        {
                            _objContext.EditUser(user);
                            var loggedIn_user = User.Identity.Name;
                            if (user.UserNameTxt.Trim().ToLower() == loggedIn_user.Trim().ToLower())
                            {
                                isAdminChangedhisOwnStatus = 1;
                            }
                            TempData["AlertMessage"] = "Status updated successfully.";
                        }
                        catch
                        {
                            TempData["AlertMessage"] = "Some error occured, Please try after some time.";
                        }

                        objAjaxRequest.hfid    = null; //remove parameter value
                        objAjaxRequest.hfvalue = null; //remove parameter value
                        pagesize        = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : pagesize);
                        page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                }
                else
                {
                    TempData["Message"] = string.Empty;
                }
                objresult = string.Empty;
            }
            #endregion Ajax Call
            //This section is used to retain the values of page , pagesize and gridsortoption on complete page post back(Edit, Dlete)
            if (!Request.IsAjaxRequest() && Session["Edit/Delete"] != null && !string.IsNullOrEmpty(Session["Edit/Delete"].ToString()))
            {
                pagesize               = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"]) : Models.Common._pageSize);
                page                   = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"]) : Models.Common._currentPage);
                gridSortOptions        = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                Session["Edit/Delete"] = null;
            }
            else if (!Request.IsAjaxRequest() && Session["Edit/Delete"] == null)
            {
                Session["PageSize"]       = null;
                Session["pageNo"]         = null;
                Session["GridSortOption"] = null;
            }
            if (gridSortOptions.Column != null && gridSortOptions.Column == "FirstName" || gridSortOptions.Column == "UserNameTxt")
            {
            }
            else
            {
                gridSortOptions.Column = "FirstName";
            }
            var pageSize = pagesize.HasValue ? pagesize.Value : Models.Common._pageSize;
            var Page     = page.HasValue ? page.Value : Models.Common._currentPage;
            TempData["pager"] = pagesize;

            var UsersRolesContext = new Contexts.UsersRolesContext().GetUsersRoles();
            var UsersContexts     = new Contexts.UsersContexts().GetAccountUsers();
            var userID            = UsersRolesContext.Where(x => x.RoleID == 1).Select(x => x.UserID).FirstOrDefault();
            var UserType          = UsersContexts.Count() > 0 ? UsersContexts.Where(x => x.UserID == userID).Select(x => x.UserNameTxt).FirstOrDefault().ToString().ToLower().Trim() : "";

            var pagedViewModel = new PagedViewModel <UsersModel>();

            pagedViewModel = new PagedViewModel <UsersModel>
            {
                ViewData          = ViewData,
                Query             = _objContext.GetUsers().AsQueryable(),
                GridSortOptions   = gridSortOptions,
                DefaultSortColumn = "FirstName",
                Page     = Page,
                PageSize = pageSize,
            }.Setup();
            if (isAdminChangedhisOwnStatus == 1)
            {
                Session.Abandon();
                FormsAuthentication.SignOut();
            }

            if (Request.IsAjaxRequest())                                // check if request comes from ajax, then return Partial view
            {
                return(View("BlogUserListingPartial", pagedViewModel)); // ("partial view name ")
            }
            else
            {
                return(View(pagedViewModel));
            }
        }
Ejemplo n.º 9
0
        public ActionResult CreateUser(UsersModel _usermodel, string command, FormCollection fm)
        {
            Session["Edit/Delete"] = "Edit";
            UserRoleModel _userrolemodel = new UserRoleModel();

            ViewBag.Title     = (_usermodel.UserID > 0 ? "Edit " : "Add ") + " User ";
            ViewBag.Submit    = _usermodel.UserID > 0 ? "Update" : "Save";
            ViewBag.StatusInd = Models.Common.GetStatusListBoolean(_usermodel.StatusInd ? "True" : "False");
            var userContext     = new Contexts.UsersContexts();
            var userroleContext = new Contexts.UsersRolesContext();

            _usermodel.UserNameTxt = _usermodel.UserNameTxt.Trim();
            if (!string.IsNullOrEmpty(_usermodel.Password))
            {
                _usermodel.Password = _usermodel.Password.Trim();
            }
            if (string.IsNullOrEmpty(command))
            {
                if (userContext.GetUsers().Where(x => x.UserNameTxt.ToLower().Trim() == _usermodel.UserNameTxt.ToLower().Trim() && _usermodel.UserID != x.UserID).Any())
                {
                    ModelState.AddModelError("UserNameTxt", _usermodel.UserNameTxt + " username already exists.");
                    return(View(_usermodel));
                }
                try
                {
                    if (ViewBag.Submit == "Save")
                    {
                        userContext.AddUser(_usermodel);
                        _userrolemodel.UserID = userContext.GetAccountUsers().Count() > 0 ? userContext.GetAccountUsers().Select(x => x.UserID).Max() + 1 : 2;
                        _userrolemodel.RoleID = 2;// Assign User Role
                        userroleContext.AssignRoleToUser(_userrolemodel);
                        TempData["AlertMessage"] = "User saved successfully.";
                    }
                    else
                    {
                        var loggedIn_user = User.Identity.Name;
                        TempData["AlertMessage"] = "User updated successfully.";
                        var userNm  = userContext.GetUsers().Where(x => x.UserID == _usermodel.UserID).Select(x => x.UserNameTxt).FirstOrDefault();
                        var objuser = userContext.GetUsers().Where(x => x.UserID == _usermodel.UserID).FirstOrDefault();
                        if (userNm.Trim().ToLower() == loggedIn_user.Trim().ToLower() && (_usermodel.Password.Trim().ToLower() != objuser.Password.Trim().ToLower() || objuser.UserNameTxt.Trim().ToLower() != _usermodel.UserNameTxt.Trim().ToLower()))
                        {
                            userContext.EditUser(_usermodel);
                            Session.Abandon();
                            FormsAuthentication.SignOut();
                            return(RedirectToAction("Login", "Account", new { isChanged = "1" }));
                        }
                        userContext.EditUser(_usermodel);
                    }
                }
                catch
                {
                    TempData["AlertMessage"] = "Some error occured, Please try after some time.";
                }
            }
            var rvd = new RouteValueDictionary();

            rvd.Add("Column", Request.QueryString["Column"] != null ? Request.QueryString["Column"].ToString() : "FirstName");
            rvd.Add("Direction", Request.QueryString["Direction"] != null ? Request.QueryString["Direction"].ToString() : "Ascending");
            rvd.Add("pagesize", Request.QueryString["pagesize"] != null ? Request.QueryString["pagesize"].ToString() : Areas.BlogAdmin.Models.Common._pageSize.ToString());
            rvd.Add("page", Request.QueryString["page"] != null ? Request.QueryString["page"].ToString() : Areas.BlogAdmin.Models.Common._currentPage.ToString());
            return(RedirectToAction("BlogUserListing", "User", rvd));
        }
Ejemplo n.º 10
0
        public ActionResult BlogUsersRolesListing(GridSortOptions gridSortOptions, int?pagetype, int?page, int?pagesize, FormCollection fm, string objresult, int?UserID)
        {
            var _objContext       = new Contexts.UsersRolesContext();
            var _objUsersContexts = new Contexts.UsersContexts();
            var pageSize          = pagesize.HasValue ? pagesize.Value : Models.Common._pageSize;
            var Page = page.HasValue ? page.Value : Models.Common._currentPage;

            TempData["pager"] = pagesize;
            ViewBag.Title     = " User Role Listing";
            var _userroleModel = new UserRoleModel();

            #region Ajax Call
            if (objresult != null)
            {
                AjaxRequest objAjaxRequest = JsonConvert.DeserializeObject <AjaxRequest>(objresult);//Convert json String to object Model
                if (objAjaxRequest.ajaxcall != null && !string.IsNullOrEmpty(objAjaxRequest.ajaxcall) && objresult != null && !string.IsNullOrEmpty(objresult))
                {
                    if (objAjaxRequest.ajaxcall == "paging")       //Ajax Call type = paging i.e. Next|Previous|Back|Last
                    {
                        Session["pageNo"] = Page;                  // stores the page no for status
                    }
                    else if (objAjaxRequest.ajaxcall == "sorting") //Ajax Call type = sorting i.e. column sorting Asc or Desc
                    {
                        Page = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        Session["GridSortOption"] = gridSortOptions;
                        pagesize = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"].ToString()) : pagesize);
                    }
                    else if (objAjaxRequest.ajaxcall == "ddlPaging")//Ajax Call type = drop down paging i.e. drop down value 10, 25, 50, 100, ALL
                    {
                        Session["PageSize"]       = (Request.QueryString["pagesize"] != null ? Convert.ToInt32(Request.QueryString["pagesize"].ToString()) : pagesize);
                        Session["GridSortOption"] = gridSortOptions;
                        Session["pageNo"]         = Page;
                    }
                    else if (objAjaxRequest.ajaxcall == "status")//Ajax Call type = status i.e. Active/Inactive
                    {
                        Page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : Page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    else if (objAjaxRequest.ajaxcall == "displayorder")//Ajax Call type = Display Order i.e. drop down values
                    {
                        page            = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"].ToString()) : page);
                        gridSortOptions = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                    }
                    objAjaxRequest.ajaxcall = null;; //remove parameter value
                }
            }
            #endregion Ajax Call
            //This section is used to retain the values of page , pagesize and gridsortoption on complete page post back(Edit, Dlete)
            if (!Request.IsAjaxRequest() && Session["Edit/Delete"] != null && !string.IsNullOrEmpty(Session["Edit/Delete"].ToString()))
            {
                pagesize               = (Session["PageSize"] != null ? Convert.ToInt32(Session["PageSize"]) : Models.Common._pageSize);
                page                   = (Session["pageNo"] != null ? Convert.ToInt32(Session["pageNo"]) : Models.Common._currentPage);
                gridSortOptions        = (Session["GridSortOption"] != null ? Session["GridSortOption"] as GridSortOptions : gridSortOptions);
                Session["Edit/Delete"] = null;
            }
            else if (!Request.IsAjaxRequest() && Session["Edit/Delete"] == null)
            {
                Session["PageSize"]       = null;
                Session["pageNo"]         = null;
                Session["GridSortOption"] = null;
            }
            if (gridSortOptions.Column != null && gridSortOptions.Column == "UserName" || gridSortOptions.Column == "RoleID")
            {
            }
            else
            {
                gridSortOptions.Column = "UserName";
            }
            var userid         = UserID != null ? UserID : 0;
            var pagedViewModel = new PagedViewModel <UserRoleModel>
            {
                ViewData          = ViewData,
                Query             = _objContext.GetUsersRoles_().AsQueryable().Where(x => x.UserID == userid),
                GridSortOptions   = gridSortOptions,
                DefaultSortColumn = "UserName",
                Page     = Page,
                PageSize = pageSize,
            }.Setup();

            if (Request.IsAjaxRequest())                                    // check if request comes from ajax, then return Partial view
            {
                return(View("BlogUserRoleListingPartial", pagedViewModel)); // ("partial view name ")
            }
            else
            {
                return(View(pagedViewModel));
            }
        }