public async Task Save(UserViewModel entity) { try { using VideoBlockDbContext _context = new VideoBlockDbContext(); if (_context.User.Any(x => x.UserName == entity.UserName.Trim())) { throw new Exception(message: "Existe un elemento con este usuario en la base de datos"); } var user = new User { Name = entity.Name.Trim(), LastName = entity.LastName.Trim(), Password = PasswordEncryptHelper.Encrypt(entity.Password.Trim()), UserName = entity.UserName.Trim(), IdRole = (int)RolesEnum.Cliente }; _context.User.Add(user); await _context.SaveChangesAsync(); } catch (Exception e) { throw e; } }
public async Task <string> Login(LoginViewModel model) { try { using (VideoBlockDbContext _context = new VideoBlockDbContext()) { string password = PasswordEncryptHelper.Encrypt(model.Password); var user = await _context.User.Where(x => x.UserName == model.UserName && x.Password == password).FirstOrDefaultAsync(); if (user == null) { throw new Exception(message: "Datos incorrectos"); } user.Token = Guid.NewGuid().ToString(); await _context.SaveChangesAsync(); return(await Task.FromResult(user.Token)); } } catch (Exception e) { throw e; } }