public IHttpActionResult PostUserProfile([FromBody] UserProfileInfoViewModel userProfile)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var user = UserManager.FindByEmail(userProfile.Email);

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

            user.FirstName = userProfile.FirstName;
            user.LastName  = userProfile.LastName;

            var company = AddUpdateUserCompany(userProfile.CompanyName, userProfile.CompanyEmail);

            user.CompanyId = company.Id;

            UserManager.Update(user);

            return(Ok());
        }
        public IHttpActionResult GetUserProfile()
        {
            var currentUserId = User.Identity.GetUserId();

            var currentUser = UserManager.FindById(currentUserId);
            var response    = new UserProfileInfoViewModel
            {
                Id        = currentUser.Id,
                Email     = currentUser.Email,
                FirstName = currentUser.FirstName,
                LastName  = currentUser.LastName
            };


            if (currentUser.CompanyId > 0)
            {
                using (var ctx = new ApplicationDbContext())
                {
                    var company = ctx.Companys.FirstOrDefault(c => c.Id == currentUser.CompanyId);

                    if (company != null)
                    {
                        response.CompanyEmail = company.Email;
                        response.CompanyName  = company.Name;
                    }
                }
            }

            return(Ok(response));
        }
Example #3
0
        public async Task <ActionResult> UpdateUserProfileInfo(UserProfileInfoViewModel userprofileviewmodel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("_GetUserProfileInfo", userprofileviewmodel));
            }



            try
            {
                ApplicationUser user = await UserManager.FindByIdAsync(userprofileviewmodel.userId);

                user.UserName  = userprofileviewmodel.userName;
                user.Firstname = userprofileviewmodel.firstName;
                user.Lastname  = userprofileviewmodel.lastName;
                user.Abr       = userprofileviewmodel.userAbr;

                var result = await UserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
            return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
        }