public IHttpActionResult PutiMentorUser(int id, iMentorUser iMentorUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != iMentorUser.Id)
            {
                return(BadRequest());
            }

            db.Entry(iMentorUser).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!iMentorUserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #2
0
        public void UpdateUserTest()
        {
            ManageController controller = new ManageController();
            iMentorUser      user       = controller.ReturnLastAddedUser();
            iMentorUserInfo  userInfo   = new iMentorUserInfo();

            userInfo.Id       = user.Id;
            userInfo.UserName = "******";
            userInfo.Email    = user.Email;
            userInfo.RoleId   = user.RoleId;
            userInfo.Role     = userInfo.GetRoleByUser(user);

            //Check that the UpdateUser function completed successfully
            Assert.AreEqual(controller.UpdateUser(userInfo), "User Updated");

            //Check that the user was actually updated in the database
            iMentorUser userUpdated = controller.ReturnLastAddedUser();

            Assert.IsTrue(userUpdated.Id == userInfo.Id &&
                          userUpdated.UserName == userInfo.UserName &&
                          userUpdated.Email == userInfo.Email &&
                          userUpdated.RoleId == userInfo.RoleId);

            //Clean up
            userInfo.UserName = user.UserName;
            controller.UpdateUser(userInfo);
        }
Example #3
0
        public int GetRoleIdByUser(iMentorUser user)
        {
            using (iMAST_dbEntities db = new iMAST_dbEntities())
            {
                var userRole = db.iMentorUserRoles.Where(x => x.UserId == user.Id).FirstOrDefault();

                var result = userRole.RoleId;

                return(result);
            }
        }
        public IHttpActionResult GetiMentorUser(int id)
        {
            iMentorUser iMentorUser = db.iMentorUsers.Find(id);

            if (iMentorUser == null)
            {
                return(NotFound());
            }

            return(Ok(iMentorUser));
        }
Example #5
0
        public string GetRoleName(iMentorUser user)
        {
            using (iMAST_dbEntities db = new iMAST_dbEntities())
            {
                var userRole = db.iMentorUserRoles.Where(x => x.UserId == user.Id).FirstOrDefault();
                var role     = db.iMentorRoles.Where(x => x.Id == userRole.RoleId).FirstOrDefault();

                var result = role.RoleName;

                return(result);
            }
        }
        public IHttpActionResult PostiMentorUser(iMentorUser iMentorUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.iMentorUsers.Add(iMentorUser);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = iMentorUser.Id }, iMentorUser));
        }
        public IHttpActionResult DeleteiMentorUser(int id)
        {
            iMentorUser iMentorUser = db.iMentorUsers.Find(id);

            if (iMentorUser == null)
            {
                return(NotFound());
            }

            db.iMentorUsers.Remove(iMentorUser);
            db.SaveChanges();

            return(Ok(iMentorUser));
        }
Example #8
0
        public override bool IsUserInRole(string username, string roleName)
        {
            using (iMAST_dbEntities db = new iMAST_dbEntities())
            {
                iMentorUser user = db.iMentorUsers.FirstOrDefault(u => u.UserName.Equals(username, StringComparison.CurrentCultureIgnoreCase) || u.Email.Equals(username, StringComparison.CurrentCultureIgnoreCase));

                iMentorUserRole userRole = db.iMentorUserRoles.FirstOrDefault(x => x.UserId == user.Id);
                iMentorRole     role     = db.iMentorRoles.FirstOrDefault(x => x.Id == userRole.RoleId);
                var             roles    = new string[] { role.RoleName };

                if (user != null)
                {
                    return(roles.Any(r => r.Equals(roleName, StringComparison.CurrentCultureIgnoreCase)));
                }
                else
                {
                    return(false);
                }
            }
        }
Example #9
0
        public async Task <ActionResult> ExternalLoginConfirmation(ExternalLoginConfirmationViewModel model, string returnUrl)
        {
            if (User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Manage"));
            }

            if (ModelState.IsValid)
            {
                // Get the information about the user from the external login provider
                var info = await AuthenticationManager.GetExternalLoginInfoAsync();

                if (info == null)
                {
                    return(View("ExternalLoginFailure"));
                }
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    //Create the iMentorUser entry
                    using (iMAST_dbEntities db = new iMAST_dbEntities())
                    {
                        bool userExists = false;

                        foreach (iMentorUser u in db.iMentorUsers.ToList())
                        {
                            if (u.Email.Equals(user.Email))
                            {
                                userExists = true;
                            }
                        }

                        //Create the user
                        if (!userExists)
                        {
                            var imUser = new iMentorUser();
                            imUser.UserName = user.UserName;
                            imUser.Email    = user.Email;
                            imUser.UrlId    = GetNewUrlId();

                            db.iMentorUsers.Add(imUser);
                            db.SaveChanges();


                            //Create the Role
                            var imUserRole = new iMentorUserRole();
                            imUserRole.UserId = imUser.Id;
                            imUserRole.RoleId = db.iMentorRoles.Where(x => x.RoleName.Equals("Read Only")).FirstOrDefault().Id; //Default role is "Read Only"

                            db.iMentorUserRoles.Add(imUserRole);
                            db.SaveChanges();
                        }
                    }

                    result = await UserManager.AddLoginAsync(user.Id, info.Login);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        return(RedirectToAction("Index", "Home"));
                    }
                }
                AddErrors(result);
            }

            //ViewBag.ReturnUrl = returnUrl;

            //return View(model);
            return(RedirectToAction("Index", "Home"));
        }