public IActionResult LoadPhoto(IFormFile files) { try { // из запроса получаем логин var userLogin = this.HttpContext.User.Identity.Name; // проверяем что пришел именно файл изображение CheckValidImageType(files); // обновляем фото в БД var isSuccess = _accountService.UpdatePhoto(files, userLogin); if (!isSuccess) { throw new InvalidOperationException($"Ошибка загрузки файла в БД!"); } return(Json(RespоnceManager.CreateSucces("Фото профиля успешно обновлено"))); } catch (Exception ex) { return(Json(RespоnceManager.CreateError(ex))); } }
public async Task <Responce> TryCreateAccountAsync(InputAccount inputAccount) { var login = inputAccount.Login; try { var typeAccount = await postgres.TypeAccount.FirstOrDefaultAsync(w => w.NameTtype == inputAccount.Role); if (LoginExists(login)) { throw new InvalidOperationException($"Пользователь с логином {login} уже существует!"); } if (typeAccount == null) { throw new InvalidOperationException($"Тип учетной записи {inputAccount.Role} не найден в базе даных!"); } var newAccount = AccountBulder.Create(typeAccount.IdTypeAccount, inputAccount); postgres.Account.Add(newAccount); await postgres.SaveChangesAsync(); } catch (Exception ex) { return(RespоnceManager.CreateError(ex)); } return(RespоnceManager.CreateSucces($"Пользователь {login} успешно создан!")); }
public JsonResult SignUp(Account newAccount) { try { auth.AddAccount(newAccount); return(Json(RespоnceManager.CreateSucces("Аккаунт успешно добавлен!"))); } catch (Exception ex) { // в случае неудачи возвращаем причину return(Json(RespоnceManager.CreateError(ex))); } }
public Responce GetAlbum(int idAlbum) { try { if (!AlbumExists(idAlbum)) { throw new InvalidOperationException($"Ошибка! В базе данных не найден альбом с id {idAlbum}!"); } var postgresAlbum = postgres.Album.FindAsync(idAlbum).Result; var outputAlbum = bulder.BuldAlbum(postgresAlbum); outputAlbum.Tracks = bulder.GetListTracksAsync(postgresAlbum).Result; return(RespоnceManager.CreateSucces(outputAlbum)); } catch (Exception ex) { return(RespоnceManager.CreateError(ex.Message)); } }
public async Task <Responce> GetAlbumListAsync() { List <OutputAlbum> albumsRespone = new List <OutputAlbum>(); try { var postgeresAlbums = await postgres.Album.ToListAsync(); foreach (var album in postgeresAlbums) { var outputAlbum = bulder.BuldAlbum(album); albumsRespone.Add(outputAlbum); } return(RespоnceManager.CreateSucces(albumsRespone)); } catch (Exception ex) { return(RespоnceManager.CreateError(ex.Message)); } }
public Responce GetToken(InputAccount inputAccount) { var login = inputAccount.Login; string access_token; try { if (!AccountExists(inputAccount)) { throw new InvalidOperationException("Invalid username or password!"); } JWTManager tokenManager = new JWTManager(Configuration); var typeAccount = GetTypeAccount(login); access_token = tokenManager.BuldToken(typeAccount, login); } catch (Exception ex) { return(RespоnceManager.CreateError(ex)); } return(RespоnceManager.CreateSucces(access_token)); }
public JsonResult ChangePassword(Account account) { try { // из запроса получаем логин var login = this.HttpContext.User.Identity.Name; // в полученный класс аккаунт добавляем полученный логин account.Login = login; // проверяем что логин и пароль верны _accountService.CheckPasswordCorrect(account); // меняем пароль var result = _accountService.ChangePassword(account); return(Json(RespоnceManager.CreateSucces(result))); } catch (Exception ex) { // в случае неудачи возвращаем причину return(Json(RespоnceManager.CreateError(ex))); } }
public async Task <JsonResult> SignInAsync(Account inputAccount) { try { // если такой аккаунт существует, то auth.CheckAccountExist(inputAccount); // аутентификация await Authenticate(inputAccount.Login); //создаем ссылку, и отправляем ее, чтобы потом зайти по ней string scheme = Url.ActionContext.HttpContext.Request.Scheme; var callbackLink = Url.Action("Main", "TutorMenu", null, scheme); // возвращаем результат return(Json(RespоnceManager.CreateSucces(callbackLink))); } catch (Exception ex) { // в случае неудачи возвращаем причину return(Json(RespоnceManager.CreateError(ex))); } }
public JsonResult Continue(InputUserAnswer userAnswer) { var continueModel = _tutorService.Continue(this.HttpContext, userAnswer); return(Json(RespоnceManager.CreateSucces(continueModel))); }