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); }