public ActionResult EditUser(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ExpandedUserDTO objExpandedUserDTO = UpdateDTOUser(paramExpandedUserDTO); if (objExpandedUserDTO == null) { return(HttpNotFound()); } return(Redirect("~/Admin")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("EditUser", GetUser(paramExpandedUserDTO.UserName))); } }
public ActionResult DeleteUser(string UserName) { try { if (UserName == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (UserName.ToLower() == this.User.Identity.Name.ToLower()) { ModelState.AddModelError( string.Empty, "Error: Cannot delete the current user"); return(View("EditUser")); } ExpandedUserDTO objExpandedUserDTO = GetUser(UserName); if (objExpandedUserDTO == null) { return(HttpNotFound()); } else { DeleteUser(objExpandedUserDTO); } return(Redirect("~/Admin")); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("EditUser", GetUser(UserName))); } }
/// <summary> /// gets the logged in user's detail from database and /// returns ExpandedUserDTO objExpandedUserDTO from database. /// <param name="paramUserName"></param> /// <returns>ExpandedUserDTO objExpandedUserDTO</returns> #region private ExpandedUserDTO GetUser(string paramUserName) private ExpandedUserDTO GetUser(string paramUserName) { ExpandedUserDTO objExpandedUserDTO = new ExpandedUserDTO(); //get data from database by finding it by the logged in username var result = UserManager.FindByName(paramUserName); // If we could not find the user, throw an exception if (result == null) { throw new Exception("Could not find the User"); } objExpandedUserDTO.Forename = result.Forename; objExpandedUserDTO.Surname = result.Surname; objExpandedUserDTO.Street = result.Street; objExpandedUserDTO.Town = result.Town; objExpandedUserDTO.Postcode = result.Postcode; objExpandedUserDTO.PhoneNumber = result.PhoneNumber; objExpandedUserDTO.UserName = result.UserName; objExpandedUserDTO.Email = result.UserName; return(objExpandedUserDTO); }
public ActionResult EditUser(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ExpandedUserDTO objExpandedUserDTO = UpdateDTOUser(paramExpandedUserDTO); if (objExpandedUserDTO == null) { return(HttpNotFound()); } return(Redirect("~/Home/Index")); } catch (Exception ex) //if there is an error, return back to EditUser with original input value { ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("EditUser", GetUser(paramExpandedUserDTO.UserName))); } }
public ActionResult Index(string searchStringUserNameOrEmail, string currentFilter, int?page) { GetCurrentUserInViewBag(); try { int intPage = 1; int intPageSize = 5; int intTotalPageCount = 0; if (searchStringUserNameOrEmail != null) { intPage = 1; } else { if (currentFilter != null) { searchStringUserNameOrEmail = currentFilter; intPage = page ?? 1; } else { searchStringUserNameOrEmail = ""; intPage = page ?? 1; } } ViewBag.CurrentFilter = searchStringUserNameOrEmail; List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); int intSkip = (intPage - 1) * intPageSize; intTotalPageCount = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .Count(); var result = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .OrderBy(x => x.UserName) .Skip(intSkip) .Take(intPageSize) .ToList(); foreach (var item in result) { ExpandedUserDTO objUserDTO = new ExpandedUserDTO(); objUserDTO.UserName = item.UserName; objUserDTO.Email = item.Email; objUserDTO.LockoutEndDateUtc = item.LockoutEndDateUtc; //Update your DTO here so that it store other attributes as well. For eg /* * objUserDTO.FirstName = item.firstname; * objUserDTO.LastName = item.lastname; * etc etc */ col_UserDTO.Add(objUserDTO); } // Set the number of pages var _UserDTOAsIPagedList = new StaticPagedList <ExpandedUserDTO> ( col_UserDTO, intPage, intPageSize, intTotalPageCount ); return(View(_UserDTOAsIPagedList)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); return(View(col_UserDTO.ToPagedList(1, 25))); } }
public async Task <ActionResult> Create(ExpandedUserDTO paramExpandedUserDTO) { GetCurrentUserInViewBag(); try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var college = GetAllCollege(); paramExpandedUserDTO.Programm = GetSelectListItems(college); var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); var LastName = paramExpandedUserDTO.StudentLastName.Trim(); var FirstName = paramExpandedUserDTO.StudentFirstName.Trim(); var MiddleName = paramExpandedUserDTO.StudentMiddleName.Trim(); var Program = paramExpandedUserDTO.Program.Trim(); var YrLevel = paramExpandedUserDTO.YearLevel; var StudentID = paramExpandedUserDTO.StudentID; //var IsActive = paramExpandedUserDTO.IsActive.Trim(); if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } if (LastName == "") { throw new Exception("No LastName"); } if (FirstName == "") { throw new Exception("No FirstName"); } if (MiddleName == "") { throw new Exception("No MiddleName"); } if (Program == "") { throw new Exception("No Program"); } if (YrLevel == null) { throw new Exception("No YrLevel"); } if (StudentID == "") { throw new Exception("No StudentID"); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email }; var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in role UserManager.AddToRole(objNewAdminUser.Id, strNewRole); //Put user in student table if (strNewRole == "Student") { var newid = db.Students.FirstOrDefault(d => d.UserID == objNewAdminUser.Id); if (newid == null) { newid = db.Students.Create(); newid.UserID = objNewAdminUser.Id; newid.StudentEmail = objNewAdminUser.Email; newid.StudentLastName = LastName; newid.StudentFirstName = FirstName; newid.StudentMiddleName = MiddleName; newid.StudentID = StudentID; newid.Program = Program; newid.YearLevel = YrLevel; db.Students.Add(newid); db.SaveChanges(); } } //Put user in counselor table if (strNewRole == "Counselor") { var newid = db.Counsellor.FirstOrDefault(d => d.UserID == objNewAdminUser.Id); if (newid == null) { newid = db.Counsellor.Create(); newid.UserID = objNewAdminUser.Id; newid.CounsellorEmail = objNewAdminUser.Email; db.Counsellor.Add(newid); db.SaveChanges(); } } } string code = await UserManager.GenerateEmailConfirmationTokenAsync(objNewAdminUser.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = objNewAdminUser.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(objNewAdminUser.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: User " + Email + " already exists!"); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ExpandedUserDTO objExpandedUserDTO = new ExpandedUserDTO(); var college = GetAllCollege(); objExpandedUserDTO.Programm = GetSelectListItems(college); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View(paramExpandedUserDTO)); } }
public ActionResult Index(string searchStringUserNameOrEmail, string currentFilter, int?page) { try { int intPage = 1; //set initial page number int intPageSize = 5; // set max record each page can have int intTotalPageCount = 0; //set initial page count to 0 if (searchStringUserNameOrEmail != null) { intPage = 1; } else { if (currentFilter != null) { searchStringUserNameOrEmail = currentFilter; intPage = page ?? 1; } else { searchStringUserNameOrEmail = ""; intPage = page ?? 1; } } ViewBag.CurrentFilter = searchStringUserNameOrEmail; List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); int intSkip = (intPage - 1) * intPageSize; intTotalPageCount = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .Count(); var result = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .OrderBy(x => x.UserName) .Skip(intSkip) .Take(intPageSize) .ToList(); foreach (var item in result) { ExpandedUserDTO objUserDTO = new ExpandedUserDTO(); objUserDTO.UserName = item.UserName; objUserDTO.Email = item.Email; objUserDTO.LockoutEndDateUtc = item.LockoutEndDateUtc; col_UserDTO.Add(objUserDTO); } // Set the number of pages var _UserDTOAsIPagedList = new StaticPagedList <ExpandedUserDTO> ( col_UserDTO, intPage, intPageSize, intTotalPageCount ); return(View(_UserDTOAsIPagedList)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); return(View(col_UserDTO.ToPagedList(1, 25))); } }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email }; var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); // Put user in role if (strNewRole != "0") { UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } // create app to use the arabizi var userId = objNewAdminUser.Id; var appLimit = Convert.ToInt32(ConfigurationManager.AppSettings["TotalAppCallLimit"]); var app = new RegisterApp { Name = userId + ".app" }; new AppManager().CreateApp(app, userId, false, new RegisterAppConcrete(), new ClientKeysConcrete(), appLimit); // create registered user using (var db = new ArabiziDbContext()) { var userguid = Guid.Parse(userId); var registeredUser = db.RegisterUsers.SingleOrDefault(m => m.UserGuid == userguid); if (registeredUser == null) { db.RegisterUsers.Add(new RegisterUser { UserGuid = userguid, LastLoginTime = DateTime.Now, Username = Email, Password = Password, CreateOn = DateTime.Now, EmailID = Email, }); } else { registeredUser.LastLoginTime = DateTime.Now; } // commit db.SaveChanges(); } return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
public ActionResult Index(string searchStringUserNameOrEmail, string currentFilter, int?page) { try { int intPage = 1; int intPageSize = 6; // Will only display six users per page int intTotalPageCount = 0; if (searchStringUserNameOrEmail != null) { intPage = 1; } else { if (currentFilter != null) { searchStringUserNameOrEmail = currentFilter; intPage = page ?? 1; // If page doesn't have a value, default to 1 } else { searchStringUserNameOrEmail = ""; intPage = page ?? 1; } } ViewBag.CurrentFilter = searchStringUserNameOrEmail; List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); int intSkip = (intPage - 1) * intPageSize; // Retrieving count of all the users that email and/or username match the user search value. intTotalPageCount = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .Count(); // Retrieving a list of users that match the search criteria and the ordering by username var result = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .OrderBy(x => x.UserName) .Skip(intSkip) .Take(intPageSize) .ToList(); // Looping through all users and getting their requested values for output. foreach (var item in result) { ExpandedUserDTO objUserDTO = new ExpandedUserDTO(); objUserDTO.UserName = item.UserName; objUserDTO.Email = item.Email; objUserDTO.PhoneNumber = item.PhoneNumber; objUserDTO.LockoutEndDateUtc = item.LockoutEndDateUtc; // Get all rolenames that correspond to each user. // This will be used to display their current accout status: suspended or active. var user = UserManager.FindByName(searchStringUserNameOrEmail); ICollection <UserRolesDTO> colUserRoleDTO = (from objRole in UserManager.GetRoles(item.Id) select new UserRolesDTO { RoleName = objRole }).ToList(); objUserDTO.Roles = colUserRoleDTO; col_UserDTO.Add(objUserDTO); } // Set the number of pages var _UserDTOAsIPagedList = new StaticPagedList <ExpandedUserDTO>(col_UserDTO, intPage, intPageSize, intTotalPageCount); return(View(_UserDTOAsIPagedList)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); return(View(col_UserDTO.ToPagedList(1, 25))); } }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { // Validating that user has inputted appropriate values if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // Trim: Removes white space var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email }; var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in selected role UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } return(Redirect("~/Admin")); } else { // If unsuccessful ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
// GET: /Admin/Edit/TestUser public PartialViewResult EditUser(string UserName) { ExpandedUserDTO objExpandedUserDTO = GetUser(UserName); return(PartialView("PartialAdmin/_EditUser", objExpandedUserDTO)); }
//public ActionResult Index(string searchStringUserNameOrEmail) public ActionResult Index(string searchStringUserNameOrEmail, string currentFilter, int?page) { try { int intPage = 1; int intPageSize = 5; int intTotalPageCount = 0; if (searchStringUserNameOrEmail != null) //if no search paramater { intPage = 1; } else { if (currentFilter != null) { searchStringUserNameOrEmail = currentFilter; //sets the search intPage = page ?? 1; } else { searchStringUserNameOrEmail = ""; intPage = page ?? 1; } } ViewBag.CurrentFilter = searchStringUserNameOrEmail; //Sets up a list of expanded users List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); int intSkip = (intPage - 1) * intPageSize; //gets how many pages their will be intTotalPageCount = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .Count(); //sets result var to the results of users found with the search paramas var result = UserManager.Users .Where(x => x.UserName.Contains(searchStringUserNameOrEmail)) .OrderBy(x => x.UserName) .Skip(intSkip) .Take(intPageSize) .ToList(); foreach (var item in result) { ExpandedUserDTO objUserDTO = new ExpandedUserDTO(); UserAndRolesDTO objUserAndRolesDTO = GetUserAndRoles(item.UserName); objUserDTO.UserName = item.UserName; objUserDTO.Email = item.Email; objUserDTO.LockoutEndDate = item.LockoutEndDateUtc; objUserDTO.Roles = objUserAndRolesDTO.colUserRoleDTO; col_UserDTO.Add(objUserDTO); } // Set the number of pages var _UserDTOAsIPagedList = new StaticPagedList <ExpandedUserDTO> ( col_UserDTO, intPage, intPageSize, intTotalPageCount ); return(View("Index", _UserDTOAsIPagedList)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); return(View("Index", col_UserDTO.ToPagedList(1, 25))); } }
public ExpandedUserDTO Edit(ExpandedUserDTO user) { throw new NotImplementedException(); }
public void Delete(ExpandedUserDTO user) { throw new NotImplementedException(); }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user ApplicationDbContext db = new ApplicationDbContext(); var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email }; var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in role userRole userRole = new userRole(); userRole.userKey = objNewAdminUser.Id; userRole.roleKey = strNewRole; db.userRoles.Add(userRole); db.SaveChanges(); UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
public ActionResult Index(string searchStringUserNameOrEmail, string currentFilter, int?page) { try { int intPage = 1; int intPageSize = 5; int intTotalItemCount = 0; // if (searchStringUserNameOrEmail != null) { intPage = 1; } else if (currentFilter != null) { searchStringUserNameOrEmail = currentFilter; intPage = page ?? 1; } else { searchStringUserNameOrEmail = ""; intPage = page ?? 1; } // ViewBag.CurrentFilter = searchStringUserNameOrEmail; List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); int intSkip = (intPage - 1) * intPageSize; // var users = UserManager.Users.Where(x => x.UserName.Contains(searchStringUserNameOrEmail)); var lusers = users.ToList(); // get register apps to make a join with users and with registerusers to get get last login time var registerApps = new Arabizer().loaddeserializeRegisterApps_DAPPERSQL(); var registerUsers = new Arabizer().loaddeserializeRegisterUsers_DAPPERSQL(); var result0 = lusers.Join(registerApps, u => u.Id.ToUpper(), a => a.UserID.ToUpper(), (usr, app) => new { app.UserID, usr.UserName, usr.Email, usr.LockoutEndDateUtc, app.TotalAppCallConsumed, app.TotalAppCallLimit }).Join(registerUsers, r1 => r1.Email, u => u.EmailID, (res1, regusr) => new { res1.UserID, res1.UserName, res1.Email, res1.LockoutEndDateUtc, res1.TotalAppCallConsumed, res1.TotalAppCallLimit, regusr.LastLoginTime }); // themes count for the user var xtrctThemesCountPerUser = new Arabizer().loaddeserializeM_XTRCTTHEME_CountPerUser_DAPPERSQL(); var result1 = result0.Join(xtrctThemesCountPerUser, r => r.UserID.ToUpper(), x => x.UserID.ToUpper(), (res2, xtcpu) => new { res2.UserID, res2.UserName, res2.Email, res2.LockoutEndDateUtc, res2.TotalAppCallConsumed, res2.TotalAppCallLimit, res2.LastLoginTime, xtcpu.CountPerUser }); // fb pages count for the user & fb posts count for the user List <LM_CountPerTheme> fbPageCountPerTheme = new Arabizer().loaddeserializeT_FB_INFLUENCER_CountPerTheme_DAPPERSQL(); List <M_XTRCTTHEME> xtrctThemes = new Arabizer().loaddeserializeM_XTRCTTHEME_DAPPERSQL(); List <LM_CountPerTheme> fbPostsCountPerTheme = new Arabizer().loaddeserializeT_FB_POST_CountPerTheme_DAPPERSQL(); List <LM_CountPerTheme> fbCommentsCountPerTheme = new Arabizer().loaddeserializeT_FB_Comments_CountPerTheme_DAPPERSQL(); var usersToThemesToFbPagesCount = fbPageCountPerTheme.Join( xtrctThemes, fb => fb.fk_theme, xt => xt.ID_XTRCTTHEME.ToString(), (fb, xt) => new { fb.fk_theme, fb.CountPerTheme, fkUserID = xt.UserID }); var usersToThemesToFbPagesToFbPostsCount = usersToThemesToFbPagesCount.Join( fbPostsCountPerTheme, u => u.fk_theme, fb => fb.fk_theme, (u, fb) => new { u.fk_theme, u.CountPerTheme, u.fkUserID, FBPostsCountPerUser = fb.CountPerTheme }); var usersToThemesToFbPagesToFbPostsToFBCommentsCount = usersToThemesToFbPagesToFbPostsCount.Join( fbCommentsCountPerTheme, u => u.fk_theme, fb => fb.fk_theme, (u, fb) => new { u.fk_theme, u.CountPerTheme, u.fkUserID, u.FBPostsCountPerUser, FBCommentsCountPerUser = fb.CountPerTheme }); var result3 = result1.GroupJoin(usersToThemesToFbPagesToFbPostsToFBCommentsCount, x => x.UserID, y => y.fkUserID, (x, y) => new { x.UserID, x.UserName, x.Email, x.LockoutEndDateUtc, x.TotalAppCallConsumed, x.TotalAppCallLimit, x.LastLoginTime, ThemesCountPerUser = x.CountPerUser, FBPagesCountPerUser = y.Sum(m => m.CountPerTheme), FBPostsCountPerUser = y.Sum(m => m.FBPostsCountPerUser), FBCommentsCountPerUser = y.Sum(m => m.FBCommentsCountPerUser) }); // darija entries count for the user var arEntriesCountPerUser = new Arabizer().loaddeserializeM_ARABICDARIJAENTRY_CountPerUser_DAPPERSQL(); var result = result3.Join(arEntriesCountPerUser, x => x.UserID, y => y.UserID, (x, y) => new { x.UserID, x.UserName, x.Email, x.LockoutEndDateUtc, x.TotalAppCallConsumed, x.TotalAppCallLimit, x.LastLoginTime, x.ThemesCountPerUser, x.FBPagesCountPerUser, ArEntriesCountPerUser = y.CountPerUser, x.FBPostsCountPerUser, x.FBCommentsCountPerUser }); // items count intTotalItemCount = result.Count(); // take the items for the current page only result = result .OrderByDescending(x => x.LastLoginTime) .Skip(intSkip) .Take(intPageSize); // foreach (var item in result) { ExpandedUserDTO objUserDTO = new ExpandedUserDTO(); objUserDTO.UserName = item.UserName; objUserDTO.Email = item.Email; objUserDTO.LockoutEndDateUtc = item.LockoutEndDateUtc; objUserDTO.TotalAppCallLimit = item.TotalAppCallLimit; objUserDTO.TotalAppCallConsumed = item.TotalAppCallConsumed; objUserDTO.LastLoginTime = item.LastLoginTime; objUserDTO.ThemesCountPerUser = item.ThemesCountPerUser; objUserDTO.FBPagesCountPerUser = item.FBPagesCountPerUser; objUserDTO.ArEntriesCountPerUser = item.ArEntriesCountPerUser; objUserDTO.FBPostsCountPerUser = item.FBPostsCountPerUser; objUserDTO.FBCommentsCountPerUser = item.FBCommentsCountPerUser; col_UserDTO.Add(objUserDTO); } // Created the paged list and Set the number of pages var _UserDTOAsIPagedList = new StaticPagedList <ExpandedUserDTO>(col_UserDTO, intPage, intPageSize, intTotalItemCount); // themes : deserialize/send list of themes, plus send active theme, plus send list of tags/keywords var userId = User.Identity.GetUserId(); var userXtrctThemes = new Arabizer().loaddeserializeM_XTRCTTHEME_DAPPERSQL(userId); var userActiveXtrctTheme = userXtrctThemes.Find(m => m.CurrentActive == "active"); @ViewBag.UserXtrctThemes = userXtrctThemes; @ViewBag.XtrctThemesPlain = userXtrctThemes.Select(m => new SelectListItem { Text = m.ThemeName.Trim(), Selected = m.ThemeName.Trim() == userActiveXtrctTheme.ThemeName.Trim() ? true : false }); @ViewBag.UserActiveXtrctTheme = userActiveXtrctTheme; // Fetch the data for fbPages for all themes for that user var fbFluencerAsTheme = new Arabizer().loadDeserializeT_FB_INFLUENCERs_DAPPERSQL(userId); ViewBag.AllInfluenceVert = fbFluencerAsTheme; // return(View(_UserDTOAsIPagedList)); } catch (Exception ex) { ModelState.AddModelError(string.Empty, "Error: " + ex); List <ExpandedUserDTO> col_UserDTO = new List <ExpandedUserDTO>(); return(View(col_UserDTO.ToPagedList(1, 25))); } }
public async Task <ActionResult> Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // To convert the user uploaded Photo as Byte Array before save to DB byte[] imageData = null; if (Request.Files.Count > 0) { HttpPostedFileBase poImgFile = Request.Files["UserPhoto"]; using (var binary = new BinaryReader(poImgFile.InputStream)) { imageData = binary.ReadBytes(poImgFile.ContentLength); } } var FirstName = paramExpandedUserDTO.FirstName.Trim(); var Surname = paramExpandedUserDTO.Surname.Trim(); var DOB = paramExpandedUserDTO.DOB.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Email = paramExpandedUserDTO.Email.Trim(); var Gender = paramExpandedUserDTO.Gender.Trim(); var Country = paramExpandedUserDTO.Country.Trim(); var City = paramExpandedUserDTO.City.Trim(); var UserFingerprint = paramExpandedUserDTO.UserFingerprint.Trim(); //var UserPic = paramExpandedUserDTO.UserPic.Trim(); if (Email == "") { throw new Exception("No Email"); } if (paramExpandedUserDTO.Password == "") { throw new Exception("No Password"); } // set default status Id by the following description var statusDescription = ""; var statusId = ""; VoteViewModel vvM = new VoteViewModel(); GetAgeCalculated gAge = new GetAgeCalculated(); int userAge = gAge.GetAge(paramExpandedUserDTO.DOB); if (userAge >= 17) { statusDescription = "Not Vote"; } else { statusDescription = "Age-rule"; } statusId = vvM.GetUserStatusIdByDescriptio(statusDescription); // check if the statusId is empty than add the values to the table if (statusId == null) { // set the default vote to the vote status table VoteViewModel vM = new VoteViewModel(); vM.InsertDescriptionToUserStatus("Vote"); vM.InsertDescriptionToUserStatus("Not Vote"); vM.InsertDescriptionToUserStatus("Age-rule"); statusId = vM.GetUserStatusIdByDescriptio(statusDescription); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { FirstName = paramExpandedUserDTO.FirstName, Surname = paramExpandedUserDTO.Surname, DOB = paramExpandedUserDTO.DOB, UserName = paramExpandedUserDTO.Email, Email = paramExpandedUserDTO.Email, Gender = paramExpandedUserDTO.Gender, Country = paramExpandedUserDTO.Country, City = paramExpandedUserDTO.City, UserPic = paramExpandedUserDTO.UserPic, UserFingerprint = paramExpandedUserDTO.UserFingerprint, UserStatusId = paramExpandedUserDTO.UserStatusId }; objNewAdminUser.UserPic = imageData; objNewAdminUser.UserStatusId = statusId; //var AdminUserCreateResult = UserManager.Create(objNewAdminUser, paramExpandedUserDTO.Password); var result = await UserManager.CreateAsync(objNewAdminUser, paramExpandedUserDTO.Password); if (result.Succeeded) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in role UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var Companyname = paramExpandedUserDTO.Companyname.Trim(); var Forename = paramExpandedUserDTO.Forename.Trim(); var Surname = paramExpandedUserDTO.Surname.Trim(); var Street = paramExpandedUserDTO.Street.Trim(); var Town = paramExpandedUserDTO.Town.Trim(); var Postcode = paramExpandedUserDTO.Postcode.Trim(); var PhoneNumber = paramExpandedUserDTO.PhoneNumber.Trim(); var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); var BacsApproved = paramExpandedUserDTO.BacsApproved; if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // set UserName as LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { Companyname = Companyname, UserName = UserName, Email = Email, Forename = Forename, Surname = Surname, Street = Street, Town = Town, Postcode = Postcode, PhoneNumber = PhoneNumber, BacsApproved = BacsApproved, }; //Create user with objNewAdminUser with Password var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in role UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } // if exception occur return create method with error message catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var Email = paramExpandedUserDTO.Email.Trim(); var UserName = paramExpandedUserDTO.Email.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); var Nombre = paramExpandedUserDTO.Nombre.Trim(); var Apellido = paramExpandedUserDTO.Apellido.Trim(); var Direccion = paramExpandedUserDTO.Direccion.Trim(); var Telefono = paramExpandedUserDTO.Telefono.Trim(); var Empresa = paramExpandedUserDTO.Empresa.Trim(); var Imagen = paramExpandedUserDTO.Imagen.Trim(); if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // UserName is LowerCase of the Email UserName = Email.ToLower(); // Create user var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email, Nombre = Nombre, Apellido = Apellido, Direccion = Direccion, Telefono = Telefono, Empresa = Empresa, Imagen = Imagen }; var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); if (AdminUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in role UserManager.AddToRole(objNewAdminUser.Id, strNewRole); } return(Redirect("~/Admin")); } else { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements."); return(View(paramExpandedUserDTO)); } } catch (Exception ex) { ViewBag.Roles = GetAllRolesAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }
/// <summary> /// returns the updated ExpandedUserDTO class object paramExpandedUserDTO /// after updating database user detail with input data /// </summary> /// <param name="objExpandedUserDTO"></param> /// <returns>ExpandedUserDTO paramExpandedUserDTO</returns> /// <includesource>yes</includesource> #region private ExpandedUserDTO UpdateDTOUser(ExpandedUserDTO objExpandedUserDTO) private ExpandedUserDTO UpdateDTOUser(ExpandedUserDTO paramExpandedUserDTO) { ApplicationUser result = UserManager.FindByName(paramExpandedUserDTO.UserName); List <UserRolesDTO> roles = new List <UserRolesDTO>(); // If we could not find the user, throw an exception if (result == null) { throw new Exception("Could not find the User"); } result.Companyname = paramExpandedUserDTO.Companyname; result.Forename = paramExpandedUserDTO.Forename; result.Surname = paramExpandedUserDTO.Surname; result.Street = paramExpandedUserDTO.Street; result.Town = paramExpandedUserDTO.Town; result.Postcode = paramExpandedUserDTO.Postcode; result.PhoneNumber = paramExpandedUserDTO.PhoneNumber; result.UserName = paramExpandedUserDTO.UserName; result.Email = paramExpandedUserDTO.UserName; result.LockoutEndDateUtc = paramExpandedUserDTO.LockoutEndDateUtc; result.LockoutEnabled = paramExpandedUserDTO.LockoutEnabled; result.AccessFailedCount = paramExpandedUserDTO.AccessFailedCount; result.BacsApproved = paramExpandedUserDTO.BacsApproved; // Lets check if the account needs to be unlocked if (UserManager.IsLockedOut(result.Id)) { // Unlock user UserManager.ResetAccessFailedCountAsync(result.Id); } UserManager.Update(result); // Was a password sent across? if (!string.IsNullOrEmpty(paramExpandedUserDTO.Password)) { // Remove current password var removePassword = UserManager.RemovePassword(result.Id); if (removePassword.Succeeded) { // Add new password var AddPassword = UserManager.AddPassword( result.Id, paramExpandedUserDTO.Password ); if (AddPassword.Errors.Count() > 0) { throw new Exception(AddPassword.Errors.FirstOrDefault()); } } } return(paramExpandedUserDTO); }
public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) { try { if (paramExpandedUserDTO == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ApplicationUser result = UserManager.FindByName(paramExpandedUserDTO.NameIdentifier); if (result == null) { var NameIdentifier = paramExpandedUserDTO.NameIdentifier.Trim(); var Email = paramExpandedUserDTO.Email.Trim(); //int IdLevel = paramExpandedUserDTO.IdLevel; var IdDept = paramExpandedUserDTO.IdDept; var UserName = paramExpandedUserDTO.NameIdentifier.Trim(); var Password = paramExpandedUserDTO.Password.Trim(); //var PartnerID = paramExpandedUserDTO.PartnerID.Trim(); if (NameIdentifier == "") { throw new Exception("No Name Identifier"); } if (Email == "") { throw new Exception("No Email"); } if (Password == "") { throw new Exception("No Password"); } // UserName is LowerCase of the Email //UserName = Email.ToLower(); // Create user var objNewUserUser = new ApplicationUser { IdDept = IdDept, NameIdentifier = NameIdentifier, UserName = UserName, Email = Email }; var UserUserCreateResult = UserManager.Create(objNewUserUser, Password); if (UserUserCreateResult.Succeeded == true) { string strNewRole = Convert.ToString(Request.Form["Roles"]); if (strNewRole != "0") { // Put user in role UserManager.AddToRole(objNewUserUser.Id, strNewRole); } return(Redirect("~/User/Index")); } else { //ViewBag.IdLevel = GetAllLevelAsSelectList(); //ViewBag.IdGroup = GetAllGroupAsSelectList(); ViewBag.Roles = GetAllRolesAsSelectList(); ViewBag.IdDept = GetDeptToList(); //ViewBag.PartnerID = GetAllPartnerAsSelectList(); ModelState.AddModelError(string.Empty, "Error: Failed to create the user. Check password requirements or username has been taken"); return(View(paramExpandedUserDTO)); } } else { throw new Exception("Username has been taken, input another one"); } } catch (Exception ex) { //ViewBag.IdLevel = GetAllLevelAsSelectList(); //ViewBag.IdGroup = GetAllGroupAsSelectList(); ViewBag.Roles = GetAllRolesAsSelectList(); ViewBag.IdDept = GetDeptToList(); //ViewBag.PartnerID = GetAllPartnerAsSelectList(); ModelState.AddModelError(string.Empty, "Error: " + ex); return(View("Create")); } }