public UsersViewModels GetElement(UsersBindingModel model) { if (model == null) { return(null); } using (var context = new Database()) { var component = context.Users .FirstOrDefault(rec => model == null || rec.Id == model.Id || (rec.FIO == model.FIO && rec.Password == model.Password && rec.Status == model.Status)); return(component != null ? new UsersViewModels { Id = component.Id, FIO = component.FIO, Status = component.Status, Email = component.Email, Password = component.Password, PhoneNumber = component.PhoneNumber } : null); } }
public async Task <IActionResult> Login([FromBody] UsersBindingModel bindingModel) { var userFromDb = await this.context.Users .SingleOrDefaultAsync(user => user.Username == bindingModel.Username && user.Password == bindingModel.Password); if (userFromDb == null) { return(this.BadRequest("Username or password is invalid.")); } var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(this.jwtSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, userFromDb.Username) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256) }; var token = tokenHandler.CreateToken(tokenDescriptor); return(this.Ok(token)); }
public void Insert(UsersBindingModel model) { using (var context = new AdBoardDatabase()) { context.Users.Add(CreateModel(model, new Users())); context.SaveChanges(); } }
public IActionResult Edit(UsersBindingModel model) { if (ModelState.IsValid) { user.Update(model); return(RedirectToAction(nameof(Index))); } return(View(model)); }
private User CreateModel(UsersBindingModel model, User user, Database context) { user.Email = model.Email; user.FIO = model.FIO; user.PhoneNumber = model.PhoneNumber; user.Status = model.Status; user.Password = model.Password; return(user); }
private Users CreateModel(UsersBindingModel model, Users user) { user.Username = model.Username; user.Login = model.Login; user.Password = model.Password; user.Phone = model.Phone; user.IsAdmin = model.IsAdmin; user.IsVerificated = model.IsVerificated; return(user); }
public async Task <IActionResult> Register([FromBody] UsersBindingModel bindingModel) { this.context.Users.Add(new User { Username = bindingModel.Username, Password = bindingModel.Password }); await this.context.SaveChangesAsync(); return(this.Ok()); }
public void Delete(UsersBindingModel model) { var element = _userStorage.GetElement(new UsersBindingModel { Id = model.Id }); if (element == null) { throw new Exception("Пользователь не найден"); } _userStorage.Delete(model); }
public List <UsersViewModel> Read(UsersBindingModel model) { if (model == null) { return(_userStorage.GetFullList()); } if (model.Id.HasValue) { return(new List <UsersViewModel> { _userStorage.GetElement(model) }); } return(_userStorage.GetFilteredList(model)); }
public void Update(UsersBindingModel model) { using (var context = new AdBoardDatabase()) { var element = context.Users.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Клиент не найден"); } CreateModel(model, element); context.SaveChanges(); } }
public void Delete(UsersBindingModel model) { using (var context = new AdBoardDatabase()) { Users element = context.Users.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Users.Remove(element); context.SaveChanges(); } else { throw new Exception("Клиент не найден"); } } }
public void CreateOrUpdate(UsersBindingModel model) { var element = _userStorage.GetElement(new UsersBindingModel { Login = model.Login }); if (element != null && element.Id != model.Id) { throw new Exception("Уже есть пользователь с таким логином"); } if (model.Id.HasValue) { _userStorage.Update(model); } else { _userStorage.Insert(model); } }
public void Update(UsersBindingModel model) { var element = _user.GetElement(new UsersBindingModel { FIO = model.FIO }); if (element != null && element.Id != model.Id) { throw new Exception("Уже есть клиент с таким логином"); } if (model.Id.HasValue) { _user.Update(model); } else { _user.Insert(model); } }
public List <UsersViewModel> GetFilteredList(UsersBindingModel model) { if (model == null) { return(null); } using (var context = new AdBoardDatabase()) { return(context.Users .Where(rec => rec.Login == model.Login && rec.Password == model.Password) .Select(rec => new UsersViewModel { Id = rec.Id, Username = rec.Username, Login = rec.Login, Password = rec.Password, Phone = rec.Phone, IsAdmin = rec.IsAdmin, IsVerificated = rec.IsVerificated }) .ToList()); } }
public void Insert(UsersBindingModel model) { using (var context = new Database()) { using (var transaction = context.Database.BeginTransaction()) { try { User cost = new User(); context.Users.Add(cost); CreateModel(model, cost, context); context.SaveChanges(); transaction.Commit(); } catch { transaction.Rollback(); throw; } } } }
public UsersViewModel GetElement(UsersBindingModel model) { if (model == null) { return(null); } using (var context = new AdBoardDatabase()) { var user = context.Users .FirstOrDefault(rec => rec.Login == model.Login || rec.Id == model.Id); return(user != null ? new UsersViewModel { Id = user.Id, Username = user.Username, Login = user.Login, Password = user.Password, Phone = user.Phone, IsAdmin = user.IsAdmin, IsVerificated = user.IsVerificated } : null); } }