public IActionResult ChangeImage([FromBody] ChangeImage model) { string image = null; var userId = User.Claims.ToList()[0].Value; var user = _context.BaseProfiles.FirstOrDefault(u => u.Id == userId); if (user != null) { string imageName = user.Image ?? Guid.NewGuid().ToString() + ".jpg"; string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesUserPath" }, imageName, model.Image); if (pathSaveImages != null) { image = imageName; user.Image = image; _context.SaveChanges(); } else { image = user.Image; } } string path = $"{_configuration.GetValue<string>("UserUrlImages")}/250_"; string imagePath = image != null ? path + image : path + _configuration.GetValue <string>("DefaultImage"); return(Ok(imagePath)); }
public async Task <IActionResult> RegisterTeacher([FromBody] TeacherRegisterVM model) { return(await HandleRequestAsync(async() => { string imageName = Path.GetRandomFileName() + ".jpg"; var filePath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\Uploaded\Users"); string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { Directory.GetCurrentDirectory(), @"wwwroot", "Uploaded", "Users" }, imageName, model.Photo); //+38 (098) 665 34 18 model.Photo = imageName; var rezult = await _teacherService.Create(model); if (rezult) { var user = _userManager.FindByEmailAsync(model.Email).Result; var teacher = await _teacherService.GetTeacherById(user.Id); JwtInfo jwtInfo; if (teacher != null) { // Return token jwtInfo = new JwtInfo() { Token = _jwtTokenService.CreateToken(user), RefreshToken = _jwtTokenService.CreateRefreshToken(user), SchoolId = teacher.SchoolId.ToString() }; } else { // Return token jwtInfo = new JwtInfo() { Token = _jwtTokenService.CreateToken(user), RefreshToken = _jwtTokenService.CreateRefreshToken(user), }; } this._logger.LogDebug("End method LoginUser..."); return Ok(jwtInfo); } else { var invalid = new Dictionary <string, string> { { "email", "Користувач з даною електронною поштою уже зареєстрований" } }; return BadRequest(invalid); } })); }
public IActionResult ChangeUserProfile([FromBody] UserProfileModel model) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } var userid = (User.Claims.ToList()[0].Value).ToString(); // var i = "fe623d77-2603-4787-99f6-e13337cc4083"; var user = _context.UserProfile.SingleOrDefault(a => a.User.Id == userid); string image = null; if (user != null) { string imageName = ""; if (user.Avatar == "") { imageName = Guid.NewGuid().ToString() + ".jpg"; } else { imageName = user.Avatar + ".jpg"; } string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathUsers" }, imageName, model.Avatar); if (pathSaveImages != null) { image = imageName; user.Avatar = image; _context.SaveChanges(); } else { image = user.Avatar; } } //string imageName = user.Avatar ?? Guid.NewGuid().ToString() + ".jpg"; //string path = $"{_configuration.GetValue<string>("UserUrlImages")}/600_"; //string imagePath = image != null ? // path + image : // _configuration.GetValue<string>("UrlImages") + // "300_" + _configuration.GetValue<string>("DefaultImage"); //return Ok(imagePath); _context.Users.Where(a => a.Id == user.Id).SingleOrDefault().Email = model.Email; _context.Users.Where(a => a.Id == user.Id).SingleOrDefault().NormalizedEmail = model.Email.ToUpper(); _context.SaveChanges(); return(Ok()); }
public async Task <ActionResult <Product> > Edit(int id, [FromBody] ProductModel model) { Product product = _context.Products.Include("Photos").FirstOrDefault(x => x.ID == id); using (CTX db = _context) { if (product != null) { List <Photo> added_photos = new List <Photo>(); try { foreach (var x in product.Photos) { InitStaticFiles.DeleteImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathProduct" }, x.Path); } foreach (var photo in model.ImgsBase64) { string imageName = Path.GetRandomFileName() + ".jpg"; string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathProduct" }, imageName, photo); added_photos.Add(new Photo { Path = imageName }); } } catch (Exception) { return(BadRequest()); } product.Name = model.Name; product.Description = model.Description; product.Price = model.Price; product.Photos.Clear(); product.Photos = added_photos; db.SaveChanges(); return(Ok(product)); } else { return(BadRequest()); } } }
public IActionResult ChangeImage([FromBody] ChangeImageModel model) { string image = null; if (User.Identity.IsAuthenticated) { var userId = User.Claims.ToList()[0].Value.ToString(); var user = _context.UserProfile.SingleOrDefault(c => c.Id == userId); if (user != null) { string imageName = ""; if (user.Avatar == "") { imageName = Guid.NewGuid().ToString() + ".jpg"; } else { imageName = user.Avatar + ".jpg"; } string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathUsers" }, imageName, model.Avatar); if (pathSaveImages != null) { image = imageName; user.Avatar = image; _context.SaveChanges(); } else { image = user.Avatar; } } } string path = $"{_configuration.GetValue<string>("UserUrlImages")}/300_"; string imagePath = image != "" ? path + image : _configuration.GetValue <string>("UrlImages") + "300_" + _configuration.GetValue <string>("DefaultImage"); return(Ok(imagePath)); }
public async Task <ActionResult <Product> > AddProduct([FromBody] ProductModel product) { Product p; try { List <Photo> added_photos = new List <Photo>(); foreach (var photo in product.ImgsBase64) { string imageName = Path.GetRandomFileName() + ".jpg"; string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathProduct" }, imageName, photo); added_photos.Add(new Photo { Path = imageName }); } p = new Product { Name = product.Name, Category = _context.Categories.FirstOrDefault(x => x.Name == product.Category), Description = product.Description, Price = product.Price, Photos = added_photos }; _context.Products.Add(p); _context.SaveChanges(); } catch (Exception) { return(BadRequest()); } return(p); }
public async Task <IActionResult> RegisterUser([FromBody] RegisterDTO model) { // Auto return errors from viewModel and other global errors return(await HandleRequestAsync(async() => { if (!CaptchaHelper.VerifyAndExpireSolution(this.HttpContext, model.CaptchaKey, model.CaptchaText)) { var invalid = new Dictionary <string, string>(); invalid.Add("captchaText", "Помилка вводу зображення на фото"); return BadRequest(invalid); } var user = _userManager.FindByEmailAsync(model.Email).Result; if (user != null) { var invalid = new Dictionary <string, string>(); invalid.Add("email", "Користувач з даною електронною поштою уже зареєстрований"); return BadRequest(invalid); } string imageName = Path.GetRandomFileName() + ".jpg"; try { this._logger.LogDebug("Start register method RegisterUser..."); string pathSaveImages = InitStaticFiles .CreateImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathUser" }, imageName, model.Photo); this._logger.LogDebug("Save image complete method RegisterUser..."); if (pathSaveImages != null) { var profile = new UserProfile() { RegistrationDate = DateTime.Now, FirstName = model.FirstName, LastName = model.LastName, Photo = imageName, }; user = new DbUser() { UserName = model.Email, Email = model.Email, PhoneNumber = model.Phone, UserProfile = profile }; var result = _userManager.CreateAsync(user, model.Password).Result; if (!result.Succeeded) { var errors = CustomValidator.GetErrorsByIdentityResult(result); return BadRequest(errors); } await _signInManager.SignInAsync(user, isPersistent: false); // Return token JwtInfo jwtInfo = new JwtInfo() { Token = _jwtTokenService.CreateToken(user), RefreshToken = _jwtTokenService.CreateRefreshToken(user) }; this._logger.LogDebug("End method RegisterUser..."); return Ok(jwtInfo); } else { throw new Exception("Помила додавання фото в БД"); } } catch (Exception ex) { InitStaticFiles.DeleteImageByFileName(_env, _configuration, new string[] { "ImagesPath", "ImagesPathUser" }, imageName); var errors = new Dictionary <string, string>(); errors.Add("invalid", ex.Message); return BadRequest(errors); } })); }