Exemplo n.º 1
0
        public User Authenticate(string userName, string password)
        {
            User user;

            using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
            {
                user = context.Users.FirstOrDefault(u => u.Username == userName && u.Password == password);
            }
            if (user == null)
            {
                return(null);
            }

            // authentication successful, generate jwt token
            var tokenHandler = new JwtSecurityTokenHandler();

            //var jwtSettings = new JwtSettings();
            var key             = Encoding.ASCII.GetBytes("secretsecretsecretsecretsecret");
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.UserId.ToString()),
                    new Claim("username", user.Username)
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature),
            };
            var token = tokenHandler.CreateToken(tokenDescriptor);

            user.Token    = tokenHandler.WriteToken(token);
            user.Password = null;

            return(user);
        }
 public Reservation Get(int id)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var reservation = context.Reservations.FirstOrDefault(c => c.ReservationId == id);
             return(reservation);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 3
0
 public ICollection <Sport> GetAll()
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var sports = context.Sports.ToList();
             return(sports);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 4
0
 public ICollection <Company> GetAll()
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var companies = context.Companies.ToList();
             return(companies);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 5
0
 public ICollection <Court> GetAllOfCompanyForSport(int companyId, int sportId)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var courts = context.Courts.Where(court => court.CompanyId == companyId && court.SportId == sportId).ToList();
             return(courts);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 6
0
 public Company Get(int id)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var company = context.Companies.FirstOrDefault(c => c.CompanyId == id);
             return(company);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 7
0
 public User GetByUserName(string username)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var user = context.Users.FirstOrDefault(c => c.Username == username);
             return(user);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 8
0
 public User GetById(int id)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var user = context.Users.FirstOrDefault(c => c.UserId == id);
             return(user);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 9
0
 public ICollection <User> GetAll(int id)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var users = context.Users.ToList();
             return(users);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 10
0
 public bool Add(Court court)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             context.Courts.Add(court);
             context.SaveChanges();
             return(true);
         }
     }
     catch { return(false); }
 }
Exemplo n.º 11
0
 public bool Delete(User user)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             context.Users.Remove(user);
             context.SaveChanges();
             return(true);
         }
     }
     catch { return(false); }
 }
Exemplo n.º 12
0
 public ICollection <Reservation> GetAllForCompanyOnDate(int companyId, DateTime date)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var reservations = context.Reservations.Where(r => r.Court.CompanyId == companyId && r.StartTime.Date == date.Date)
                                .Include(r => r.Court).ToList();
             return(reservations);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 13
0
 public bool Add(Reservation reservation)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             context.Reservations.Add(reservation);
             context.SaveChanges();
             return(true);
         }
     }
     catch { return(false); }
 }
Exemplo n.º 14
0
 public bool Delete(Company company)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             context.Companies.Remove(company);
             context.SaveChanges();
             return(true);
         }
     }
     catch { return(false); }
 }
Exemplo n.º 15
0
 public int Add(Company company)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             context.Companies.Add(company);
             context.SaveChanges();
             return(company.CompanyId);
         }
     }
     catch { return(-1); }
 }
Exemplo n.º 16
0
 public ICollection <Reservation> GetAllForDateTime(DateTime date)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var reservations = context.Reservations.Where(r => r.StartTime.CompareTo(date) == 0)
                                .Include(r => r.Court.Company).ToList();
             return(reservations);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 17
0
        public bool Update(Court court, Court updated)
        {
            try
            {
                using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
                {
                    court.CourtName = updated.CourtName;

                    context.SaveChanges();
                    return(true);
                }
            }
            catch { return(false); }
        }
Exemplo n.º 18
0
 public ICollection <Reservation> GetAllForUser(int id)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var reservations = context.Reservations.Where(r => r.UserId == id)
                                .Include(r => r.Court.Company)
                                .ToList();
             return(reservations);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 19
0
        public bool Update(Reservation reservation, Reservation updated)
        {
            try
            {
                using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
                {
                    reservation.StartTime = updated.StartTime;
                    reservation.EndTime   = updated.EndTime;

                    context.SaveChanges();
                    return(true);
                }
            }
            catch { return(false); }
        }
Exemplo n.º 20
0
        public ICollection <Company> GetAllForSport(int sportId)
        {
            try
            {
                using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
                {
                    //var courts = context.Courts.Where(c => c.Sport.Name == sportName).ToList();
                    var companies = context.Companies.Where(c => c.Courts.Any(court => court.Sport.SportId == sportId))
                                    .Include(c => c.Courts)
                                    .ToList();
                    //var companies = context.Companies.Where(c => c.Courts.Contains(courts));

                    return(companies.ToList());
                }
            }
            catch { return(null); }
        }
Exemplo n.º 21
0
        public bool Update(User user, User updated)
        {
            try
            {
                using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
                {
                    user.FirstName   = updated.FirstName;
                    user.LastName    = updated.LastName;
                    user.PhoneNumber = updated.PhoneNumber;
                    user.Password    = updated.Password;

                    context.SaveChanges();
                    return(true);
                }
            }
            catch { return(false); }
        }
Exemplo n.º 22
0
        public bool Update(Company company, Company updated)
        {
            try
            {
                using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
                {
                    company.CompanyName = updated.CompanyName;
                    company.Description = updated.Description;
                    company.Latitude    = updated.Latitude;
                    company.Longitude   = updated.Longitude;
                    company.PhoneNumber = updated.PhoneNumber;

                    context.SaveChanges();
                    return(true);
                }
            }
            catch { return(false); }
        }
Exemplo n.º 23
0
 public bool Delete(int reservationId, int userId)
 {
     try
     {
         using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
         {
             var reservation = context.Reservations.FirstOrDefault(r => r.ReservationId == reservationId);
             var user        = context.Users.FirstOrDefault(u => u.UserId == userId);
             if (reservation.UserId == userId || reservation.Court.CompanyId == user.CompanyId)
             {
                 context.Reservations.Remove(reservation);
                 context.SaveChanges();
                 return(true);
             }
             return(false);
         }
     }
     catch { return(false); }
 }
Exemplo n.º 24
0
        public ICollection <Sport> GetAllForCompany(int companyId)
        {
            try
            {
                using (var context = new SportivoContext(new DbContextOptions <SportivoContext>()))
                {
                    var courts = context.Courts.Where(c => c.CompanyId == companyId);

                    List <int> sportIds = new List <int>();
                    foreach (var court in courts)
                    {
                        if (!sportIds.Contains(court.SportId))
                        {
                            sportIds.Add(court.SportId);
                        }
                    }

                    var sports = context.Sports.Where(s => sportIds.Contains(s.SportId)).ToList();

                    return(sports);
                }
            }
            catch { return(null); }
        }