public ActionResult EditAdmins(ManageAdministratorViewModel adminModel)
        {
            var User        = db.Users.FirstOrDefault(x => x.ID == adminModel.ID);
            var UserProfile = db.UserProfile.FirstOrDefault(x => x.UserID == adminModel.ID);

            if (ModelState.IsValid)
            {
                //save new data in tables
                if (adminModel.Email != User.Email)
                {
                    if (db.Users.Any(x => x.Email == adminModel.Email))
                    {
                        ModelState.AddModelError("Email", "This email is already registered");
                        return(View());
                    }
                    User.Email = adminModel.Email;
                    db.SaveChanges();
                }

                User.FirstName = adminModel.FirstName;
                User.LastName  = adminModel.LastName;
                UserProfile.PhoneNumber_CountryCode = adminModel.PhoneNumber_CountryCode;
                UserProfile.PhoneNumber             = adminModel.PhoneNumber;
                User.IsActive            = true;
                User.ModifiedDate        = DateTime.Now;
                UserProfile.IsActive     = true;
                UserProfile.ModifiedDate = DateTime.Now;

                db.SaveChanges();

                return(RedirectToAction("ManageAdministrator"));
            }

            return(View());
        }
        public ActionResult AddAdmin(ManageAdministratorViewModel category)
        {
            if (ModelState.IsValid)
            {
                bool isEmailRegistered = db.Users.Any(x => x.Email == category.Email);
                if (!isEmailRegistered)
                {
                    //add data in user table
                    Users adminUser = new Users();

                    adminUser.RoleID    = 3;
                    adminUser.FirstName = category.FirstName;
                    adminUser.LastName  = category.LastName;
                    adminUser.Email     = category.Email;
                    string adminPassword = "******";
                    adminUser.Password        = adminPassword;
                    adminUser.IsEmailVerified = true;
                    adminUser.CreatedDate     = DateTime.Now;
                    adminUser.CreatedBy       = 4;
                    adminUser.IsActive        = true;

                    db.Users.Add(adminUser);
                    db.SaveChanges();

                    int userID = db.Users.FirstOrDefault(x => x.Email == category.Email && x.IsActive == true).ID;

                    //add table is user profile table
                    UserProfile adminProfile = new UserProfile();

                    adminProfile.UserID = userID;
                    adminProfile.DOB    = DateTime.Now;
                    adminProfile.Gender = 1;
                    adminProfile.PhoneNumber_CountryCode = "NA";
                    adminProfile.PhoneNumber             = category.PhoneNumber;
                    adminProfile.AddressLine1            = "NA";
                    adminProfile.AddressLine2            = "NA";
                    adminProfile.City        = "NA";
                    adminProfile.State       = "NA";
                    adminProfile.ZipCode     = "NA";
                    adminProfile.Country     = "NA";
                    adminProfile.CreatedBy   = 4;
                    adminProfile.CreatedDate = DateTime.Now;
                    adminProfile.IsActive    = true;

                    db.UserProfile.Add(adminProfile);
                    db.SaveChanges();

                    return(RedirectToAction("ManageAdministrator"));
                }
                else
                {
                    ModelState.AddModelError("Email", "Email is already registered");
                    return(View());
                }
            }

            return(View());
        }
コード例 #3
0
        public ActionResult Manage()
        {
            var administrator = applicationDb.Administrators.Find(User.Identity.GetUserId());
            ManageAdministratorViewModel model = new ManageAdministratorViewModel {
                Id = User.Identity.GetUserId(), Email = administrator.Email
            };

            return(View(model));
        }
コード例 #4
0
        public async Task <ActionResult> Edit(ManageAdministratorViewModel model)
        {
            ApplicationDbContext appDb = new ApplicationDbContext();

            if (ModelState.IsValid)
            {
                Administrator administrator = applicationDb.Administrators.Find(User.Identity.GetUserId());

                if (administrator != null)
                {
                    // set administrator object values
                    // create a new administrator object
                    applicationDb.Entry(administrator).State = System.Data.Entity.EntityState.Modified;
                    applicationDb.SaveChanges();
                }
            }
            return(View("Manage", model));
        }
コード例 #5
0
        public ActionResult AddAdministrator(int?ID)
        {
            if (Session["ID"] != null)
            {
                int  id         = Convert.ToInt32(Session["ID"]);
                int  RoleMember = Convert.ToInt32(Enums.UserRoleId.Member);
                int  SuperAdmin = Convert.ToInt32(Enums.UserRoleId.SuperAdmin);
                User user       = db.Users.Where(x => x.ID == id).FirstOrDefault();
                if (user.RoleID != RoleMember)
                {
                    if (user.RoleID == SuperAdmin)
                    {
                        ManageAdministratorViewModel Model = new ManageAdministratorViewModel();
                        Model.countries = db.Countries.Where(x => x.IsActive == true).ToList();

                        if (ID != null)
                        {
                            User        user1       = db.Users.Where(x => x.ID == ID).FirstOrDefault();
                            UserProfile userProfile = db.UserProfiles.Where(x => x.UserID == ID).FirstOrDefault();
                            Model.FirstName   = user1.FirstName;
                            Model.LastName    = user1.LastName;
                            Model.Email       = user1.EmailID;
                            Model.CountryCode = userProfile.CountryCode;
                            Model.PhoneNumber = userProfile.PhoneNumber;
                            return(View(Model));
                        }
                        return(View(Model));
                    }
                    else
                    {
                        return(RedirectToAction("Dashboard", "Admin"));
                    }
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("Login", "Account"));
            }
        }
        public ActionResult EditAdmins(int id)
        {
            ViewBag.Settings     = "active";
            ViewBag.manageadmini = "active";

            //fetch data of admin
            var detail        = db.Users.FirstOrDefault(x => x.ID == id);
            var profiledetail = db.UserProfile.FirstOrDefault(x => x.UserID == id);
            ManageAdministratorViewModel adminModel = new ManageAdministratorViewModel();

            adminModel.ID        = detail.ID;
            adminModel.FirstName = detail.FirstName;
            adminModel.LastName  = detail.LastName;
            adminModel.Email     = detail.Email;
            adminModel.PhoneNumber_CountryCode = profiledetail.PhoneNumber_CountryCode;
            adminModel.PhoneNumber             = profiledetail.PhoneNumber;

            return(View(adminModel));
        }
コード例 #7
0
 public ActionResult AddAdministrator(ManageAdministratorViewModel model)
 {
     if (ModelState.IsValid)
     {
         int  AddedBy = Convert.ToInt32(Session["ID"]);
         User user    = db.Users.Where(x => x.EmailID.Equals(model.Email)).FirstOrDefault();
         if (user != null)
         {
             UserProfile userProfile = db.UserProfiles.Where(x => x.UserID == user.ID).FirstOrDefault();
             user.FirstName    = model.FirstName;
             user.LastName     = model.LastName;
             user.ModifiedBy   = AddedBy;
             user.ModifiedDate = DateTime.Now;
             user.IsActive     = true;
             if (userProfile != null)
             {
                 userProfile.CountryCode  = model.CountryCode;
                 userProfile.PhoneNumber  = model.PhoneNumber;
                 userProfile.ModifiedDate = DateTime.Now;
                 userProfile.ModifiedBy   = AddedBy;
                 db.SaveChanges();
             }
             else
             {
                 UserProfile NewEntry = new UserProfile()
                 {
                     UserID       = user.ID,
                     PhoneNumber  = model.PhoneNumber,
                     AddressLine1 = "Admin",
                     AddressLine2 = "Admin",
                     City         = "Admin",
                     State        = "Admin",
                     ZipCode      = "Admin",
                     Country      = "Admin",
                     CountryCode  = model.CountryCode,
                     CreatedDate  = DateTime.Now,
                     CreatedBy    = AddedBy,
                 };
                 db.UserProfiles.Add(NewEntry);
                 db.SaveChanges();
             }
             db.SaveChanges();
         }
         else
         {
             int  Admin    = Convert.ToInt32(Enums.UserRoleId.Admin);
             User NewEntry = new User()
             {
                 FirstName       = model.FirstName,
                 LastName        = model.LastName,
                 EmailID         = model.Email,
                 RoleID          = Admin,
                 CreatedBy       = AddedBy,
                 CreatedDate     = DateTime.Now,
                 IsEmailVerified = true,
                 Password        = "******",
                 IsActive        = true,
             };
             db.Users.Add(NewEntry);
             db.SaveChanges();
             UserProfile NewProfile = new UserProfile()
             {
                 UserID       = NewEntry.ID,
                 PhoneNumber  = model.PhoneNumber,
                 CountryCode  = model.CountryCode,
                 AddressLine1 = "Admin",
                 AddressLine2 = "Admin",
                 City         = "Admin",
                 State        = "Admin",
                 ZipCode      = "Admin",
                 Country      = "Admin",
                 CreatedDate  = DateTime.Now,
                 CreatedBy    = AddedBy,
             };
             db.UserProfiles.Add(NewProfile);
             db.SaveChanges();
         }
         return(RedirectToAction("ManageAdministrator", "Administrator"));
     }
     else
     {
         return(View(model));
     }
 }
        public ActionResult ManageAdministrator(string SortOrder, string Admini_search, int Admini_page = 1)
        {
            ViewBag.Settings     = "active";
            ViewBag.manageadmini = "active";

            //sorting
            ViewBag.FirstnameSortParm = SortOrder == "Firstname" ? "Firstname_desc" : "Firstname";
            ViewBag.LastnameSortParm  = SortOrder == "Lastname" ? "Lastname_desc" : "Lastname";
            ViewBag.EmailSortParm     = SortOrder == "Email" ? "Email_desc" : "Email";
            ViewBag.PhoneNoSortParm   = SortOrder == "PhoneNo" ? "PhoneNo_desc" : "PhoneNo";
            ViewBag.ActiveSortParm    = SortOrder == "Active" ? "Active_desc" : "Active";
            ViewBag.DateSortParm      = SortOrder == "Date" ? "Date_desc" : "Date";

            ManageAdministratorViewModel adminModel = new ManageAdministratorViewModel();

            //Query string
            var admins = from ur in db.Users
                         join urp in db.UserProfile on ur.ID equals urp.UserID
                         where ur.RoleID == 3
                         select new ManageAdmini {
                admins = ur, adminProfiles = urp
            };

            //searching
            if (Admini_search != null)
            {
                admins = admins.Where(x => x.admins.FirstName.Contains(Admini_search) ||
                                      x.admins.LastName.Contains(Admini_search) ||
                                      x.admins.Email.Contains(Admini_search) ||
                                      x.adminProfiles.PhoneNumber.Contains(Admini_search) ||
                                      x.adminProfiles.PhoneNumber_CountryCode.Contains(Admini_search) ||
                                      x.admins.CreatedDate.ToString().Contains(Admini_search) ||
                                      x.admins.IsActive.ToString().Contains(Admini_search));
            }

            //sorting
            switch (SortOrder)
            {
            case "Firstname_desc":
                admins = admins.OrderByDescending(s => s.admins.FirstName);
                break;

            case "Firstname":
                admins = admins.OrderBy(s => s.admins.FirstName);
                break;

            case "Lastname_desc":
                admins = admins.OrderByDescending(s => s.admins.LastName);
                break;

            case "Lastname":
                admins = admins.OrderBy(s => s.admins.LastName);
                break;

            case "Email_desc":
                admins = admins.OrderByDescending(s => s.admins.Email);
                break;

            case "Email":
                admins = admins.OrderBy(s => s.admins.Email);
                break;

            case "PhoneNo_desc":
                admins = admins.OrderByDescending(s => s.adminProfiles.PhoneNumber);
                break;

            case "PhoneNo":
                admins = admins.OrderBy(s => s.adminProfiles.PhoneNumber);
                break;

            case "Active_desc":
                admins = admins.OrderByDescending(s => s.admins.IsActive);
                break;

            case "Active":
                admins = admins.OrderBy(s => s.admins.IsActive);
                break;

            case "Date_desc":
                admins = admins.OrderByDescending(s => s.admins.CreatedDate);
                break;

            case "Date":
                admins = admins.OrderBy(s => s.admins.CreatedDate);
                break;

            default:
                admins = admins.OrderByDescending(s => s.admins.CreatedDate);
                break;
            }

            //assign value to model
            adminModel.allAdmins = admins;

            //pagination
            var pager = new Pager(admins.Count(), Admini_page, 10);

            ViewBag.currentPage = pager.CurrentPage;
            ViewBag.endPage     = pager.EndPage;
            ViewBag.startpage   = pager.StartPage;
            ViewBag.totalPage   = admins.Count();

            adminModel.allAdmins = admins.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize);

            return(View(adminModel));
        }