コード例 #1
0
        public async Task <IHttpActionResult> UpdateBasicUserInfo(UpdateUserInfoBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (string.IsNullOrEmpty(model.Id))
            {
                return(BadRequest());
            }

            try
            {
                var user = await UserManager.FindByIdAsync(model.Id);

                user.Name        = model.Name;
                user.Gender      = model.Gender;
                user.DoB         = model.DoB;
                user.IsDoctor    = model.IsDoctor;
                user.Image       = model.Image;
                user.Email       = model.Email;
                user.PhoneNumber = model.PhoneNumber;
                user.Address     = model.Address;
                user.PersonalId  = model.PersonalId;
                user.InsuranceId = model.InsuranceId;

                IdentityResult result = await UserManager.UpdateAsync(user);

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
                else
                {
                    return(Ok());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        public async Task <IHttpActionResult> UpdateUserInfo(UpdateUserInfoBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (string.IsNullOrEmpty(model.Id))
            {
                return(BadRequest());
            }

            try
            {
                var user = await UserManager.FindByIdAsync(model.Id);

                user.Name     = model.Name;
                user.Gender   = model.Gender;
                user.DoB      = model.DoB;
                user.IsDoctor = model.IsDoctor;
                user.Image    = model.Image;
                //user.UserName = model.Email;
                user.Email = model.Email;

                IdentityResult result = await UserManager.UpdateAsync(user);

                if (!result.Succeeded)
                {
                    return(GetErrorResult(result));
                }
                else
                {
                    AddUserRole(user.Id, model.RoleName);
                    return(Ok());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        public IHttpActionResult ChangeUserInfo(
            [FromBody] UpdateUserInfoBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                var userName = JwtManager.GetUserNameFromToken(
                    Request.Headers.Authorization.Parameter);
                var user = UnitOfWork.UserRepository.GetByName(userName);
                if (user == null)
                {
                    return(NotFound());
                }
                if (model.Email != null)
                {
                    if ((model.Email != user.Email) &&
                        (UnitOfWork.UserRepository.GetByEmail(model.Email) == null))
                    {
                        user.Email = model.Email;
                    }
                    else if (model.Email != user.Email)
                    {
                        return(Conflict());
                    }
                }
                if (model.FirstName != null)
                {
                    user.FirstName = model.FirstName;
                }
                if (model.LastName != null)
                {
                    user.LastName = model.LastName;
                }
                if (model.BirthDate != null)
                {
                    user.BirthDate = DateTime.ParseExact(model.BirthDate, "yyyy-MM-dd",
                                                         System.Globalization.CultureInfo.InvariantCulture);
                }
                switch (model.Sex)
                {
                case "Male":
                    user.Sex = SexEnum.Male;
                    break;

                case "Female":
                    user.Sex = SexEnum.Female;
                    break;

                case null:
                    break;

                default:
                    user.Sex = SexEnum.Unknown;
                    break;
                }
                /** todo: change hotfix with roles to another decision of fixing exception */
                user.UserRole = UnitOfWork.RoleRepository.Get("User");
                UnitOfWork.UserRepository.Update(user);
                UnitOfWork.Save();
                var sex = "Unknown";
                switch (user.Sex)
                {
                case SexEnum.Male:
                    sex = "Male";
                    break;

                case SexEnum.Female:
                    sex = "Female";
                    break;
                }
                return(Ok(new {
                    user.FirstName,
                    user.LastName,
                    user.Email,
                    BirthDate = user.BirthDate.Date.ToString("yyyy-MM-dd"),
                    Sex = sex
                }));
            }
            catch (Exception)
            {
                return(InternalServerError());
            }
        }