123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using Microsoft.EntityFrameworkCore;
- using Microsoft.EntityFrameworkCore.Internal;
- using ProRestaurant.Classes;
- using ProRestaurant.Containers;
- using ProRestaurant.DBContexts;
- using ProRestaurant.Models.Accounts;
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Linq;
- using System.Text.RegularExpressions;
-
- namespace ProRestaurant.Repository.Accounts
- {
- public class UserRepository : IUserRepository
- {
- private readonly DBContext dBContext;
-
- public UserRepository(DBContext _DB)
- {
- dBContext = _DB;
- }
-
- public User GetUser(Func<User, bool> where)
- {
- var user = dBContext.Users.Where(where).FirstOrDefault();
- if (user == null)
- {
- user = new User
- {
- EmailAddress = "",
- Password = "",
- FirstName = "",
- Surname = "",
- Cellphone = ""
- };
- }
- return user;
- }
-
- public IEnumerable<User> GetUsers()
- {
- return dBContext.Users.ToList();
- }
-
- public void Insert(User user)
- {
- dBContext.Add(user);
- Save();
- }
-
- public UserContainer Login(string UserName, string Password)
- {
- UserContainer returnObject = new UserContainer();
- User user;
-
- string pattern = @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z";
- if (Regex.IsMatch(UserName, pattern))
- user = dBContext.Users.Where(u => u.EmailAddress == UserName).FirstOrDefault();
- else
- user = dBContext.Users.Where(u => u.Cellphone == UserName).FirstOrDefault();
-
- if (user != null)
- {
- if (user.Password == Password)
- {
- returnObject.user = user;
- returnObject.ResultString = "Access Granted";
- }
- else
- returnObject.ResultString = "Password incorrect";
- }
- else
- {
- returnObject.ResultString = "User not found";
- }
-
-
- return returnObject;
- }
-
- public void Remove(User user)
- {
- dBContext.Users.Remove(user);
- Save();
- }
-
- public void Save()
- {
- dBContext.SaveChanges();
- }
-
- public void Update(User user)
- {
- dBContext.Entry(user).State = EntityState.Modified;
- Save();
- }
- }
- }
|