Exemple #1
0
        public async Task <IActionResult> ChangeAvatar([FromBody] FileBase64 file)
        {
            var bytes = Convert.FromBase64String(file.Base64File);

            using (MemoryStream ms = new MemoryStream(bytes))
            {
                var formFile = new FormFile(ms, 0, ms.Length, "file", file.FileName)
                {
                    Headers = new HeaderDictionary
                    {
                        { "Content-Disposition", string.Format("attachment; filename={0})", file.FileName) },
                        { "Content-Type", "multipart/form-data" }
                    }
                };

                var userId = _authServices.GetUserId() ?? 0;
                if (userId == 0)
                {
                    return(BadRequest(MessageConstant.UserNotAllowed));
                }

                var userResponse = await _userDetailService.GetDetailByUserId(userId);

                if (userResponse.Success)
                {
                    AssignModelState();
                    var user = userResponse.Item;
                    try
                    {
                        if (!String.IsNullOrWhiteSpace(user.Avatar))
                        {
                            await _fileServices.DeleteAsync(user.Avatar);
                        }
                        var res = await _fileServices.UploadAsync(formFile);

                        user.Avatar = res.Item.Path;
                        var response = _userDetailService.Edit(user);
                        if (response.Success)
                        {
                            return(Ok(response.Item));
                        }

                        return(BadRequest(response.Message));
                    }
                    catch (Exception ex)
                    {
                        return(BadRequest(ex.Message));
                    }
                }
                ms.Dispose();
            }

            return(BadRequest("Error on Server"));
        }
Exemple #2
0
        public IActionResult EditUserDetail(int id, [FromBody] UserDetailMediCoreModel param)
        {
            AssignModelState();
            param.Id     = id;
            param.UserId = _auth.GetUserId() ?? 0;
            var response = _userDetailService.Edit(param);

            if (response.Success)
            {
                return(Ok(response.Item));
            }
            return(BadRequest(response.Message));
        }
        public async Task <IActionResult> Edit([Bind("ID,FirstName,LastName,City,PostCode,Address")] UserDetailViewModel userDetailViewModel)
        {
            var myUser = await GetUser();

            InternalStatus result = _userDetailService.Edit(userDetailViewModel, myUser);

            return(Result(result, "Edited!"));
        }