コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }