public IActionResult Create([FromBody] OrderAddVM model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } { Order m = new Order { CarId = model.Car.Id, Price = float.Parse(model.Car.Price.ToString()), ClientId = model.Client.Id, Date = model.Date }; _context.Orders.Add(m); _context.SaveChanges(); return(Ok("Дані добалено")); } }
public async Task <ResultDTO> Login([FromBody] UserLoginDTO model) { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 403, Message = "Invalid data for login", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } //Переірка на успіх з логіном та паролем var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, false, false); if (!result.Succeeded) { return(new ResultErrorDTO { Status = 401, Message = "Error", Errors = new List <string>() { "Incorrect login or password!" } }); } else { var user = await _userManager.FindByEmailAsync(model.Email); await _signInManager.SignInAsync(user, false); return(new ResultLoginDTO { Status = 200, Message = "OK", Token = _jWTTokenService.CreateToken(user) }); } }
public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model) { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 500, Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var user = new User() { UserName = model.Email, Email = model.Email, Balance = 0 }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { _logger.LogInformation($"User: email: {user.Email} register failed"); return(new ResultErrorDTO { Status = 500, Errors = CustomValidator.GetErrorsByIdentityResult(result) }); } else { _logger.LogInformation($"User registered: id: {user.Id} email: {user.Email}"); result = _userManager.AddToRoleAsync(user, "User").Result; await _context.SaveChangesAsync(); } return(new ResultDTO { Status = 200 }); }
public async Task <ResultDto> Login([FromBody] UserLoginDto model) { if (!ModelState.IsValid) { return(new ResultErrorDto { Status = 400, Message = "ERROR", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } else { var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, false, false); if (!result.Succeeded) { List <string> error = new List <string>(); error.Add("User is not found, password or email isn't correct!"); return(new ResultErrorDto { Status = 400, Message = "user not found!", Errors = error }); } else { var user = await _userManager.FindByEmailAsync(model.Email); await _signInManager.SignInAsync(user, false); return(new ResultLoginDto { Status = 200, Message = "OK", Token = _jwtTokenService.CreateToken(user) }); } } }
public IActionResult Update([FromBody] MakeVM model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var make = _context.Makes.SingleOrDefault(p => p.Id == model.Id); if (make != null) { make = _context.Makes.SingleOrDefault(p => p.Name == model.Name); if (make == null) { make.Name = model.Name; _context.SaveChanges(); return(Ok("Дані оновлено")); } } return(BadRequest(new { name = "Помилка оновлення" })); }
public async Task <IActionResult> Login([FromBody] Credentials credentials) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } var result = await _signInManager .PasswordSignInAsync(credentials.Name, credentials.Password, false, false); if (!result.Succeeded) { return(BadRequest(new { invalid = "You entered an invalid credentials" })); } var user = await _userManager.FindByEmailAsync(credentials.Email); await _signInManager.SignInAsync(user, isPersistent : false); return(Ok(CreateToken(user))); }
public IActionResult Create([FromBody] MakeAddVM model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var make = _context.Makes.SingleOrDefault(p => p.Name == model.Name); if (make == null) { Make m = new Make { Name = model.Name }; _context.Makes.Add(m); _context.SaveChanges(); return(Ok("Дані добалено")); } return(BadRequest(new { name = "Дана марка вже добалена" })); }
public IActionResult AddProduct([FromBody] ProductAddViewModel model) { Thread.Sleep(3000); if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } try { var cat = _context.Categories.SingleOrDefault(c => c.Name == model.Category); if (cat == null) { cat = new Category { Name = model.Category }; _context.Categories.Add(cat); _context.SaveChanges(); } var product = new Product { CategoryId = cat.Id, Name = model.Name }; _context.Products.Add(product); _context.SaveChanges(); var result = new ProductViewModel { Id = product.Id, Name = product.Name, Category = cat.Name }; return(Ok(result)); } catch { return(BadRequest(new { invalid = "Помилка збереження даних!" })); } }
public ResultDTO AddMeme([FromBody] MemeDTO memeDTO, [FromRoute] string userId) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 403, Message = "ERROR", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var meme = new Meme() { Date = memeDTO.Date, Image = memeDTO.Image, Title = memeDTO.Title, Rating = 0 }; _context.Memes.Add(meme); _context.SaveChanges(); var creator = _context.UserAdditionalInfos.FirstOrDefault(x => x.User.Id == userId); _context.CreatedMemes.Add(new CreatedMemes { Meme = meme, User = creator }); } catch (Exception) { throw; } return(new ResultDTO { Status = 200, Message = "OK" }); }
public async Task <ResultDTO> Login(UserLoginDTO model) { if (!ModelState.IsValid) { return(new ErrorResultDTO { StatusCode = 500, Message = "Login Error", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, false, false); if (!result.Succeeded) { return(new ErrorResultDTO { StatusCode = 402, Message = "Login failed", Errors = new List <string> { "Login or password error" } }); } else { var user = await _userManager.FindByEmailAsync(model.Email); await _signInManager.SignInAsync(user, false); return(new SuccessResultDTO { StatusCode = 200, Message = "Ok", Token = _iJWTTokenService.CreateToken(user) }); } }
public ActionResult <ListMessages> GetMessageList([FromBody] MessageFilter filter) { if (filter.Count < 0 || filter.From < 0) { return(BadRequest()); } if (User.Claims.ToList().Count > 0) { var a = User.Claims.ToList()[0].Value; if (User.Claims.ToList()[0].Value.ToString() != filter.chat.SenderId && User.Claims.ToList()[0].Value.ToString() != filter.chat.RecipientId) { return(BadRequest()); } } if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var array = _context.Messages .Where(x => (x.SenderId == filter.chat.SenderId || x.SenderId == filter.chat.RecipientId) && (x.RecipientId == filter.chat.RecipientId || x.RecipientId == filter.chat.SenderId)).ToList(); array.Reverse(); ListMessages model = new ListMessages(); model.messages = new List <ModelMessage>(); for (int i = filter.From; i < filter.Count + filter.From && i < array.Count; i++) { model.messages.Add(new ModelMessage { SenderId = array[i].SenderId, DateCreate = array[i].DateCreate, RecipientId = array[i].RecipientId, Text = array[i].Text }); } return(Ok(model)); }
public IActionResult Update([FromBody] UserUpdateVM user) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var str_name = user.Name; var name_regex = @"^[A-Za-z-а-яА-Я]+$"; var str_email = user.Email; var email_regex = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"; var match_name = Regex.Match(str_name, name_regex); var match_email = Regex.Match(str_email, email_regex); if (!match_name.Success) { return(BadRequest(new { Name = "Неправильний формат поля." })); } if (!match_email.Success) { return(BadRequest(new { Email = "Неправильний формат поля." })); } var emp = _context.Users.SingleOrDefault(p => p.Id == user.Id); if (emp != null) { emp.UserName = user.Name; emp.Email = user.Email; _context.SaveChanges(); return(Ok("Дані оновлено")); } return(BadRequest(new { Email = "Помилка оновлення" })); }
public ResultDTO AddProduct([FromBody] AddProductDTO model) { if (!ModelState.IsValid) { return(new ResultDTO { Status = 500, Message = "Error", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } else { var product = new Product() { Name = model.Name, Price = model.Price, Brand = model.Brand, Category = model.Category, Description = model.Description, MainImage = model.MainImage, Warranty = model.Warranty, Payment = model.Payment, FirstAdditionalImage = model.FirstAdditionalImage, SecondAdditionalImage = model.SecondAdditionalImage, ThirdAdditionalImage = model.ThirdAdditionalImage }; _context.products.Add(product); _context.SaveChanges(); return(new ResultDTO { Status = 200, Message = "OK" }); } }
public async Task <IActionResult> ResetPassword([FromBody] ResetPasswordViewModel model) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } var user = await _userManager.FindByIdAsync(model.UserId); if (user == null) { return(BadRequest(new { invalid = "User is not found" })); } var result = await _userManager.ResetPasswordAsync(user, model.Code, model.Password); if (!result.Succeeded) { var errrors = CustomValidator.GetErrorsByIdentityResult(result); return(BadRequest(errrors)); } return(Ok()); }
public async Task <IActionResult> ConfirmEmail(string userid, [FromBody] ConfirmEmailViewModel model) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } var user = await _userManager.FindByIdAsync(userid); if (user == null) { return(BadRequest(new { invalid = "User is not found" })); } var result = await _userManager.ConfirmEmailAsync(user, model.Code); if (!result.Succeeded) { var errrors = CustomValidator.GetErrorsByIdentityResult(result); return(BadRequest(errrors)); } return(Ok()); }
public async Task <IActionResult> Register([FromBody] RegisterViewModel credentials) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } var user = new DbUser { Email = credentials.Email, UserName = credentials.Name, }; var result = await _userManager.CreateAsync(user, credentials.Password); if (!result.Succeeded) { return(BadRequest(result.Errors)); } await _signInManager.SignInAsync(user, isPersistent : false); return(Ok(CreateToken(user))); }
public IActionResult AddProduct([FromBody] AddProductModel model) { if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } try { var category = _context.Categories.SingleOrDefault(c => c.Name == model.CategoryName); if (category == null) { category = new Category { Name = model.CategoryName }; _context.Categories.Add(category); _context.SaveChanges(); } var product = new Product { CategoryID = category.Id, Name = model.ProductName }; _context.Products.Add(product); _context.SaveChanges(); var result = new ProductItemModel { ProductID = product.Id, ProductName = product.Name, CategoryName = category.Name }; return(Ok(result)); } catch { return(BadRequest("Cannot add item!!!")); } }
public async Task <IActionResult> Login([FromBody] LoginViewModel model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var user = _context.Users.FirstOrDefault(u => u.Email == model.Email); if (user == null) { return(BadRequest(new { invalid = "Користувача із вказаними обліковими даними не знайдено" })); } var result = _signInManager .PasswordSignInAsync(user, model.Password, false, false).Result; if (!result.Succeeded) { return(BadRequest(new { invalid = "Користувача із вказаними обліковими даними не знайдено" })); } var block = _context.UserAccessLocks.FirstOrDefault(u => u.Id == user.Id); if (block != null) { return(BadRequest(new { invalid = "Нажаль Вас Заблоковано" })); } await _signInManager.SignInAsync(user, isPersistent : false); return(Ok( new { token = _tokenService.CreateToken(user), refToken = _tokenService.CreateRefreshToken(user) })); }
public IActionResult DeleteProduct(int id) { Thread.Sleep(3000); if (!ModelState.IsValid) { var errrors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errrors)); } if (id == 0) { return(NotFound()); } try { var product = _context.Products.SingleOrDefault(c => c.Id == id); if (product != null) { _context.Remove(product); _context.SaveChanges(); var result = new ProductViewModel { Id = product.Id }; return(Ok(result)); } else { return(NotFound()); } } catch { return(BadRequest(new { invalid = "Помилка збереження даних!" })); } }
public IActionResult Create([FromBody] ClientAddVM client) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } string dirName = "images"; string dirPathSave = Path.Combine(dirName, client.UniqueName); if (!Directory.Exists(dirPathSave)) { Directory.CreateDirectory(dirPathSave); } var bmp = client.Image.FromBase64StringToImage(); var imageName = client.UniqueName; string fileSave = Path.Combine(dirPathSave, $"{imageName}"); var bmpOrigin = new System.Drawing.Bitmap(bmp); string[] imageNames = { $"50_" + imageName + ".jpg", $"100_" + imageName + ".jpg", $"300_" + imageName + ".jpg", $"600_" + imageName + ".jpg", $"1280_" + imageName + ".jpg" }; Bitmap[] imageSave = { ImageWorker.CreateImage(bmpOrigin, 50, 50), ImageWorker.CreateImage(bmpOrigin, 100, 100), ImageWorker.CreateImage(bmpOrigin, 300, 300), ImageWorker.CreateImage(bmpOrigin, 600, 600), ImageWorker.CreateImage(bmpOrigin, 1280, 1280) }; for (int i = 0; i < imageNames.Count(); i++) { var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNames[i]); imageSave[i].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg); } var str = client.Phone; var regex = @"\+38\d{1}\(\d{2}\)\d{3}\-\d{2}\-\d{2}"; var str2 = client.Name; var regex2 = @"^[A-Za-z-а-яА-Я]+$"; var str3 = client.Email; var regex3 = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"; var match = Regex.Match(str, regex); var match2 = Regex.Match(str2, regex2); var match3 = Regex.Match(str3, regex3); if (!match.Success) { return(BadRequest(new { Phone = "issue" })); } if (!match2.Success) { return(BadRequest(new { Name = "issue" })); } if (!match3.Success) { return(BadRequest(new { Email = "issue" })); } var cl = _context.Clients.FirstOrDefault(p => p.Email == client.Email); if (cl != null) { return(BadRequest(new { Email = "Такий email вже існує!" })); } var cli = _context.Clients.FirstOrDefault(p => p.Phone == client.Phone); if (cli != null) { return(BadRequest(new { Phone = "Такий номер вже існує!" })); } //var fileDestDir = _env.ContentRootPath; //string dirName = _configuration.GetValue<string>("ImagesPath"); ////Папка де зберігаються фотки //string dirPathSave = Path.Combine(fileDestDir, dirName); //if (!Directory.Exists(dirPathSave)) //{ // Directory.CreateDirectory(dirPathSave); //} //var bmp = model.Image.FromBase64StringToImage(); //var imageName = Path.GetRandomFileName() + ".jpg"; //string fileSave = Path.Combine(dirPathSave, $"{imageName}"); //bmp.Save(fileSave, ImageFormat.Jpeg); Client c = new Client { Name = client.Name, Phone = client.Phone, Email = client.Email, UniqueName = client.UniqueName }; _context.Clients.Add(c); _context.SaveChanges(); return(Ok(c.Id)); }
public async Task <IActionResult> Boys([FromBody] BoysViewModels filter)//model { // BoysViewModels filter = new BoysViewModels(); // filter = new BoysViewModels(); if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var GenderId = await _context.Gender.Where(x => x.Type == "Man").SingleOrDefaultAsync(); var a = (DateTime.Now.Year * 100 + DateTime.Now.Month) * 100 + DateTime.Now.Day; GetListBoysModel result = new GetListBoysModel(); result.CurrentPage = filter.CurrentPage; int CityId = -1; bool isCityIdParsed = int.TryParse(filter.CityId, out CityId); int ZodiacId = -1; bool isZodiacIdParsed = int.TryParse(filter.ZodiacId, out ZodiacId); var query = _context.UserProfile.AsQueryable(); //int CityId = Convert.ToInt32(filter.CityId); //int ZodiacId = Convert.ToInt32(filter.ZodiacId); int Age = -1; bool isAgeParsed = int.TryParse(filter.Age, out Age); //int Age = Convert.ToInt32(filter.Age); if (isCityIdParsed) { if (CityId > 0) { query = query.Where(x => x.CityId == CityId); } } if (isZodiacIdParsed) { if (ZodiacId > 0) { query = query.Where(x => x.ZodiacId == ZodiacId); } } if (isAgeParsed) { if (Age > 0) { query.Where(x => filter.Age == ((a - (x.DateOfBirth.Year * 100 + x.DateOfBirth.Month) * 100 + x.DateOfBirth.Day) / 10000).ToString()); } } var today = DateTime.Today; List <GetBoysModel> boys = new List <GetBoysModel>(); List <GetZodiac> GetZodiacs = new List <GetZodiac>(); List <GetCity> GetCities = new List <GetCity>(); var city = await _context.City.AsQueryable().ToListAsync(); var zodiac = await _context.Zodiac.AsQueryable().ToListAsync(); foreach (var item in city) { GetCities.Add(new GetCity { Value = item.Id.ToString(), Label = item.Name }); } foreach (var item in zodiac) { GetZodiacs.Add(new GetZodiac { Value = item.Id.ToString(), Label = item.Name }); } result.TotalCount = query.Count(); string path = $"{_configuration.GetValue<string>("UserUrlImages")}/300_"; boys = query .Include(c => c.City) .Where(u => u.GenderId == GenderId.Id && ((a - (u.DateOfBirth.Year * 100 + u.DateOfBirth.Month) * 100 + u.DateOfBirth.Day) / 10000) < int.Parse(filter.Age_to) && ((a - (u.DateOfBirth.Year * 100 + u.DateOfBirth.Month) * 100 + u.DateOfBirth.Day) / 10000) > int.Parse(filter.Age_from)) .OrderBy(u => Guid.NewGuid()) .Take(12) .Skip((filter.CurrentPage - 1) * 10) .Select(u => new GetBoysModel { City = u.City.Name, Status = "status", //u.Description, Age = (a - (u.DateOfBirth.Year * 100 + u.DateOfBirth.Month) * 100 + u.DateOfBirth.Day) / 10000, Name = u.NickName, Avatar = u.Avatar != "" ? path + u.Avatar : _configuration.GetValue <string>("UserUrlImages") + "/300_" + _configuration.GetValue <string>("DefaultImage") }) .ToList(); result.GetListBoys = boys; result.GetCities = GetCities; result.GetZodiacs = GetZodiacs; return(Ok(result)); }
public IActionResult Create([FromBody] CarAddVM model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } string dirName = "images"; string dirPathSave = Path.Combine(dirName, model.UniqueName); if (!Directory.Exists(dirPathSave)) { Directory.CreateDirectory(dirPathSave); } var bmp = model.MainImage.FromBase64StringToImage(); var imageName = model.UniqueName; string fileSave = Path.Combine(dirPathSave, $"{imageName}"); var bmpOrigin = new System.Drawing.Bitmap(bmp); string[] imageNames = { $"50_" + imageName + ".jpg", $"100_" + imageName + ".jpg", $"300_" + imageName + ".jpg", $"600_" + imageName + ".jpg", $"1280_" + imageName + ".jpg" }; Bitmap[] imageSave = { ImageWorker.CreateImage(bmpOrigin, 50, 50), ImageWorker.CreateImage(bmpOrigin, 100, 100), ImageWorker.CreateImage(bmpOrigin, 300, 300), ImageWorker.CreateImage(bmpOrigin, 600, 600), ImageWorker.CreateImage(bmpOrigin, 1280, 1280) }; for (int i = 0; i < imageNames.Count(); i++) { var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNames[i]); imageSave[i].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg); } dirPathSave = Path.Combine(dirName, model.UniqueName, "Photo"); if (!Directory.Exists(dirPathSave)) { Directory.CreateDirectory(dirPathSave); } for (int i = 0; i < model.AdditionalImage.Count; i++) { bmp = model.AdditionalImage[i].FromBase64StringToImage(); fileSave = Path.Combine(dirPathSave); bmpOrigin = new System.Drawing.Bitmap(bmp); string[] imageNamess = { $"50_{i+1}_" + imageName + ".jpg", $"100_{i+1}_" + imageName + ".jpg", $"300_{i+1}_" + imageName + ".jpg", $"600_{i+1}_" + imageName + ".jpg", $"1280_{i+1}_" + imageName + ".jpg" }; Bitmap[] imageSaves = { ImageWorker.CreateImage(bmpOrigin, 50, 50), ImageWorker.CreateImage(bmpOrigin, 100, 100), ImageWorker.CreateImage(bmpOrigin, 300, 300), ImageWorker.CreateImage(bmpOrigin, 600, 600), ImageWorker.CreateImage(bmpOrigin, 1280, 1280) }; for (int j = 0; j < imageNamess.Count(); j++) { var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNamess[j]); imageSaves[j].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg); } } var cars = _context.Cars.SingleOrDefault(p => p.UniqueName == model.UniqueName); if (cars == null) { Car car = new Car { UniqueName = model.UniqueName, Count = model.Count, Date = model.Date, Name = model.Name, Price = model.Price }; _context.Cars.Add(car); _context.SaveChanges(); return(Ok(car.Id)); } return(BadRequest(new { name = "Даний автомобіль вже добалений" })); }
//[Authorize(Roles = "Admin")] public IActionResult Create([FromBody] ProductPostVM model) { List <string> err = new List <string>(); // перевіряємо модель на валідність if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } // зберігаємо фото var bmp = model.PhotoBase64.FromBase64StringToImage(); if (bmp != null) { model.PhotoName = Path.GetRandomFileName() + ".jpg"; string imageNamePath = Path.Combine(dirPathSave, model.PhotoName); var image = ImageHelper.CreateImage(bmp, 300, 300); image.Save(imageNamePath, ImageFormat.Jpeg); } else { model.PhotoName = kNamePhotoDefault; } // передаємо модель в БД DbProduct prod = new DbProduct { Name = model.Name, Price = model.Price, DateCreate = DateTime.Now, PhotoName = model.PhotoName, CategoryId = model.CategoryId }; _context.Products.Add(prod); _context.SaveChanges(); int fValueIdType = model.FilterIdType; int fNameIdType = _context.FilterNameGroups .SingleOrDefault(v => v.FilterValueId == model.FilterIdType).FilterNameId; int valuePrice = 0; if (model.Price < 50) { valuePrice = 1; } else if (model.Price >= 50 && model.Price < 100) { valuePrice = 2; } else if (model.Price >= 100 && model.Price < 300) { valuePrice = 3; } else if (model.Price >= 300 && model.Price < 700) { valuePrice = 4; } else if (model.Price >= 700) { valuePrice = 5; } Filter filter = new Filter { FilterNameId = 1, FilterValueId = valuePrice, ProductId = prod.Id }; var f = _context.Filters.SingleOrDefault(p => p == filter); if (f == null) { _context.Filters.Add(filter); _context.SaveChanges(); } filter = new Filter { FilterNameId = fNameIdType, FilterValueId = fValueIdType, ProductId = prod.Id }; f = _context.Filters.SingleOrDefault(p => p == filter); if (f == null) { _context.Filters.Add(filter); _context.SaveChanges(); } return(Ok(prod.Id)); }
public async Task <IActionResult> Registration([FromBody] RegistrationVM model) { List <string> err = new List <string>(); // перевіряємо модель на валідність if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } // створюємо роль адмін string roleAdmin = "Admin"; // шукаємо роль в базі. Якщо немає - додаємо var role = _roleManager.FindByNameAsync(roleAdmin).Result; if (role == null) { role = new DbRole { Name = roleAdmin }; var addRoleResult = _roleManager.CreateAsync(role).Result; } // шукаємо юзера в базі по імейлу. якщо немає - додаємо var user = _userManager.FindByNameAsync(model.Email).Result; if (user == null) { user = new DbUser { UserName = model.Email, Email = model.Email, }; var result = _userManager.CreateAsync(user, model.Password).Result; // якщо додало - додаємо роль if (result.Succeeded) { result = _userManager.AddToRoleAsync(user, roleAdmin).Result; // логінимо юзера await _signInManager.SignInAsync(user, isPersistent : false); // передаємо модель в БД UserProfile up = new UserProfile { DbUserId = user.Id, FirstName = model.FirstName, LastName = model.LastName, Phone = model.Phone }; user.UserProfile = up; _context.UserProfiles.Add(up); _context.SaveChanges(); return(Ok( new { token = CreateTokenJWT(user) })); } } else { err.Add("Така пошта вже зареєстрована!"); } return(BadRequest(err)); }
public async Task <IActionResult> Register([FromBody] UserRegisterVM model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var str_name = model.Name; var name_regex = @"^[A-Za-z-а-яА-Я]+$"; var str_email = model.Email; var email_regex = @"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"; var match_name = Regex.Match(str_name, name_regex); var match_email = Regex.Match(str_email, email_regex); if (!match_name.Success) { return(BadRequest(new { Name = "Неправильний формат поля." })); } if (!match_email.Success) { return(BadRequest(new { Email = "Неправильний формат поля." })); } string roleName = "Employee"; var role = _roleManager.FindByNameAsync(roleName).Result; if (role == null) { role = new DbRole { Name = roleName }; } var userEmail = model.Email; //var user = _userManager.FindByEmailAsync(userEmail).Result; if (_userManager.FindByEmailAsync(userEmail).Result != null) { return(BadRequest(new { Email = "Така електронна пошта вже існує!" })); } var user = new DbUser { Email = userEmail, UserName = model.Name }; //user.UserRoles = new List<DbRole>(); var result = _userManager.CreateAsync(user, model.Password).Result; if (!result.Succeeded) { return(BadRequest(new { Password = "******" })); } result = _userManager.AddToRoleAsync(user, roleName).Result; if (!result.Succeeded) { return(BadRequest(new { Password = "******" })); } return(Ok( new { token = CreateTokenJwt(user) })); }
public async Task <IActionResult> Register([FromBody] RegisterViewModel model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } var user = _context.Users.FirstOrDefault(u => u.Email == model.Email); if (user != null) { return(BadRequest(new { invalid = "Електронна адреса вже використовується" })); } var str = ""; DateTime model_date = DateTime.Parse(model.DateOfBirth); //DateTime model_date = DateTime.ParseExact(model.DateOfBirth, "yyyy.MM.dd", CultureInfo.InvariantCulture); if (model_date.Month == 3 && model_date.Day >= 21 || model_date.Month == 4 && model_date.Day <= 20) { str = "Овен"; } else if (model_date.Month == 4 && model_date.Day >= 21 || model_date.Month == 5 && model_date.Day <= 21) { str = "Телець"; } else if (model_date.Month == 5 && model_date.Day >= 22 || model_date.Month == 6 && model_date.Day <= 21) { str = "Близнята"; } else if (model_date.Month == 6 && model_date.Day >= 22 || model_date.Month == 7 && model_date.Day <= 22) { str = "Рак"; } else if (model_date.Month == 7 && model_date.Day >= 23 || model_date.Month == 8 && model_date.Day <= 23) { str = "Лев"; } else if (model_date.Month == 8 && model_date.Day >= 24 || model_date.Month == 9 && model_date.Day <= 22) { str = "Діва"; } else if (model_date.Month == 9 && model_date.Day >= 23 || model_date.Month == 10 && model_date.Day <= 23) { str = "Терези"; } else if (model_date.Month == 10 && model_date.Day >= 24 || model_date.Month == 11 && model_date.Day <= 22) { str = "Скорпіон"; } else if (model_date.Month == 11 && model_date.Day >= 23 || model_date.Month == 12 && model_date.Day <= 21) { str = "Стрілець"; } else if (model_date.Month == 12 && model_date.Day >= 22 || model_date.Month == 1 && model_date.Day <= 20) { str = "Козоріг"; } else if (model_date.Month == 1 && model_date.Day >= 21 || model_date.Month == 2 && model_date.Day <= 20) { str = "Водолій"; } else if (model_date.Month == 2 && model_date.Day >= 21 || model_date.Month == 3 && model_date.Day <= 20) { str = "Риби"; } var zodiac = _context.Zodiac.FirstOrDefault(z => z.Name == str); var city = _context.City.FirstOrDefault(z => z.Name == model.City); Gender gender = _context.Gender.FirstOrDefault(z => z.Type == model.Gender); var userProfile = new UserProfile() { DateOfRegister = DateTime.Now, NickName = model.NickName, DateOfBirth = DateTime.Parse(model.DateOfBirth), ZodiacId = zodiac.Id, CityId = city.Id, GenderId = gender.Id }; user = new DbUser() { UserName = model.Email, Email = model.Email, UserProfile = userProfile }; var roleName = "User"; var result = _userManager.CreateAsync(user, model.Password).Result; result = _userManager.AddToRoleAsync(user, roleName).Result; if (!result.Succeeded) { var errors = CustomValidator.GetErrorsByIdentityResult(result); return(BadRequest(errors)); } await _signInManager.SignInAsync(user, isPersistent : false); string name = $"{userProfile.NickName} "; await _emailSender.SendEmailAsync(user.Email, "Ласкаво просимо, ", $"Шановний(на) <strong>{name}</strong>" + $"<br/>" + $"Ви успішно пройшли реєстрацію" + $"<br/>" + $"<br/>"); //$"Для входу нажміть на посилання: <a href='https://idealcrud.azurewebsites.net/#/login'>Перейти</a>"); return(Ok( new { token = _tokenService.CreateToken(user), refToken = _tokenService.CreateRefreshToken(user) })); }
public IActionResult Update([FromBody] CarUpdateVM model) { if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } if (model.MainImage != null) { string dirName = "images"; string dirPathSave = Path.Combine(dirName, model.UniqueName); if (!Directory.Exists(dirPathSave)) { Directory.CreateDirectory(dirPathSave); } else { Directory.Delete(dirPathSave, true); Directory.CreateDirectory(dirPathSave); System.GC.Collect(); System.GC.WaitForPendingFinalizers(); } var bmp = model.MainImage.FromBase64StringToImage(); var imageName = model.UniqueName; string fileSave = Path.Combine(dirPathSave, $"{imageName}"); var bmpOrigin = new System.Drawing.Bitmap(bmp); string[] imageNames = { $"50_" + imageName + ".jpg", $"100_" + imageName + ".jpg", $"300_" + imageName + ".jpg", $"600_" + imageName + ".jpg", $"1280_" + imageName + ".jpg" }; Bitmap[] imageSave = { ImageWorker.CreateImage(bmpOrigin, 50, 50), ImageWorker.CreateImage(bmpOrigin, 100, 100), ImageWorker.CreateImage(bmpOrigin, 300, 300), ImageWorker.CreateImage(bmpOrigin, 600, 600), ImageWorker.CreateImage(bmpOrigin, 1280, 1280) }; for (int i = 0; i < imageNames.Count(); i++) { var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNames[i]); imageSave[i].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg); } if (model.AdditionalImage != null) { dirPathSave = Path.Combine(dirName, model.UniqueName, "Photo"); if (!Directory.Exists(dirPathSave)) { Directory.CreateDirectory(dirPathSave); } for (int i = 0; i < model.AdditionalImage.Count; i++) { bmp = model.AdditionalImage[i].FromBase64StringToImage(); fileSave = Path.Combine(dirPathSave); bmpOrigin = new System.Drawing.Bitmap(bmp); string[] imageNamess = { $"50_{i+1}_" + imageName + ".jpg", $"100_{i+1}_" + imageName + ".jpg", $"300_{i+1}_" + imageName + ".jpg", $"600_{i+1}_" + imageName + ".jpg", $"1280_{i+1}_" + imageName + ".jpg" }; Bitmap[] imageSaves = { ImageWorker.CreateImage(bmpOrigin, 50, 50), ImageWorker.CreateImage(bmpOrigin, 100, 100), ImageWorker.CreateImage(bmpOrigin, 300, 300), ImageWorker.CreateImage(bmpOrigin, 600, 600), ImageWorker.CreateImage(bmpOrigin, 1280, 1280) }; for (int j = 0; j < imageNamess.Count(); j++) { var imageSaveEnd = System.IO.Path.Combine(dirPathSave, imageNamess[j]); imageSaves[j].Save(imageSaveEnd, System.Drawing.Imaging.ImageFormat.Jpeg); } } } } var car = _context.Cars.SingleOrDefault(p => p.Id == model.Id); if (car != null) { car.Price = model.Price; car.Date = model.Date; if (model.Name != "") { car.Name = model.Name; } car.Count = model.Count; car.UniqueName = model.UniqueName; _context.SaveChanges(); return(Ok(car.Id)); } return(BadRequest()); }
public ActionResult AddMessage([FromBody] ModelSendMessage message) { //if (User.Claims.ToList().Count>0) //{ // if (User.Claims.ToList()[0].Value.ToString() != message.SenderId) // { // return BadRequest(); // } // //} if (!ModelState.IsValid) { var errors = CustomValidator.GetErrorsByModel(ModelState); return(BadRequest(errors)); } Messages mess = new Messages { RecipientId = message.RecipientId, SenderId = message.SenderId, Text = message.Text, DateCreate = DateTime.Now }; if (!mess.IsValide()) { return(BadRequest()); } var Sender = _context.UserProfile.FirstOrDefault(x => x.Id == mess.SenderId); if (Sender == null) { return(BadRequest()); } if (Sender.Messages == null) { Sender.Messages = new List <Messages>(); } var Recip = _context.UserRecipient.FirstOrDefault(x => x.Id == mess.RecipientId); if (Recip == null) { var recProfile = _context.UserProfile.FirstOrDefault(x => x.Id == mess.RecipientId); if (recProfile == null) { return(BadRequest()); } UserRecipient user = new UserRecipient { Id = recProfile.Id, Messages = new List <Messages>() }; Recip = user; _context.UserRecipient.Add(user); } var messages = _context.Messages; messages.Add(mess); _context.SaveChanges(); return(Ok()); }
public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 403, Message = "ERROR", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var user = new User() { UserName = model.Email, Email = model.Email, PhoneNumber = model.Phone }; var userProfile = new UserAdditionalInfo() { Address = model.Address, Image = "default.jpg", FullName = model.FullName, Id = user.Id }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(new ResultErrorDTO { Message = "ERROR", Status = 500, Errors = CustomValidator.GetErrorsByIdentotyResult(result) }); } else { result = _userManager.AddToRoleAsync(user, "User").Result; _context.UserAdditionalInfos.Add(userProfile); _context.SaveChanges(); } return(new ResultDTO { Status = 200, Message = "OK" }); } catch (Exception e) { return(new ResultDTO { Status = 500, Message = e.Message, }); } }
public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 403, Message = "error", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var user = new User() { UserName = model.Email, Email = model.Email, PhoneNumber = model.Phone }; var userProFile = new UserAdditional() { Address = model.Address, Image = "default.jpg", DataRegister = DateTime.Now.ToShortDateString(), PublishCount = "0", FullName = model.FullName, Id = user.Id }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(new ResultErrorDTO { Message = "error", Status = 500, Errors = CustomValidator.GetErrorByIdentityResult(result) }); } else { result = _userManager.AddToRoleAsync(user, "User").Result; userProFile.UserRole = "User"; _eFContext.UserAdditional.Add(userProFile); _eFContext.SaveChanges(); } return(new ResultDTO { Status = 200, Message = "OK" }); } catch (Exception e) { return(new ResultDTO { Status = 500, Message = e.Message }); } }