public async Task <IActionResult> Avatar([FromForm] AvatarBindingModel collection)
        {
            if (string.IsNullOrWhiteSpace(collection?.Token))
            {
                return(BadRequest(GeneralMessage.TokenNotFound));
            }
            if (string.IsNullOrWhiteSpace(collection?.DeviceId))
            {
                return(BadRequest(GeneralMessage.DeviceIdNotFound));
            }
            try {
                var model = _mapper.Map <UserGetSchema>(collection);
                var user  = await _userService.GetAsync(model);

                switch (model.StatusCode)
                {
                case -1:
                    return(BadRequest(GeneralMessage.UserNotFound));

                case -2:
                    return(BadRequest(GeneralMessage.UserIsNotActive));

                case -3:
                    return(BadRequest(GeneralMessage.PhoneIsNotVerified));
                }
                using (var memoryStream = new MemoryStream()) {
                    await collection.Avatar.CopyToAsync(memoryStream);

                    if (memoryStream.ToArray().Length == 0)
                    {
                        return(BadRequest("فایل فاقد محتوی می باشد"));
                    }
                    if (memoryStream.ToArray().Length > int.Parse(AppSettings.AvatarSize) * 1024)
                    {
                        return(BadRequest("حجم تصویر شما بیشتر از میزان مجاز است"));
                    }
                    var image = new Bitmap(memoryStream);
                    if (!ImageFormats.Contains(image.RawFormat))
                    {
                        return(BadRequest("نوع تصویر شما از انواع مجاز نمی باشد"));
                    }
                    var avatarResolution = AppSettings.AvatarResolution.Split('x');
                    if (image.Width * image.Height > int.Parse(avatarResolution[0]) * int.Parse(avatarResolution[1]))
                    {
                        return(BadRequest("اندازه تصویر شما بزرگتر از میزان مجاز است"));
                    }
                    if (!Directory.Exists(AppSettings.FilePath))
                    {
                        Directory.CreateDirectory(AppSettings.FilePath);
                    }
                    image.Save($@"{AppSettings.FilePath}\{user.UserName}.jpeg", ImageFormat.Jpeg);
                }
                var editModel = new UserEditSchema {
                    Token = collection.Token, DeviceId = collection.DeviceId, Avatar = $"{user.UserName}.jpeg"
                };
                await _userService.EditAsync(editModel);

                switch (model.StatusCode)
                {
                case 1:
                    return(Ok());
                }
            }
            catch (Exception ex) {
                await _exceptionService.InsertAsync(ex, URL, IP);
            }
            return(InternalServerError());
        }
 public async Task EditAsync(UserEditSchema model)
 {
     await _editProfile.ExecuteReturnLessAsync(model);
 }