1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- using Microsoft.EntityFrameworkCore;
- using ProRestaurant.Classes;
- using ProRestaurant.DBContexts;
- using ProRestaurant.Models.Accounts;
- using ProRestaurant.Models.Restaurants;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Cryptography.Xml;
-
- namespace ProRestaurant.Repository.Restaurants
- {
- public interface IRestaurantUserRepository
- {
- List<User> GetUsers(int RestaurantId);
- RestaurantUser GetRestaurantUser(int UserId);
- void InsertUser(RestaurantUser User);
- void UpdateUser(RestaurantUser User);
- void RemoveUser(int id);
- void Save();
- }
-
- public class RestaurantUserRepository : IRestaurantUserRepository
- {
- private readonly DBContext dBContext;
-
- public RestaurantUserRepository(DBContext db)
- {
- dBContext = db;
- }
-
- public RestaurantUser GetRestaurantUser(int UserId)
- {
- var restUser = dBContext.RestaurantUsers.Include("User").Where(r => r.UserId == UserId).FirstOrDefault();
-
- if (restUser == null)
- {
- restUser = new RestaurantUser
- {
- User = new User()
- {
- Id = 0,
- EmailAddress = "",
- FirstName = "",
- Surname = "",
- Cellphone = ""
- }
- };
- }
-
- return restUser;
- }
-
- public List<User> GetUsers(int RestaurantId)
- {
- var users = dBContext.RestaurantUsers.Include("User").Where(r => r.RestaurantId == RestaurantId).Select(r => r.User).ToList();
- return users;
- }
-
- public void InsertUser(RestaurantUser User)
- {
- dBContext.Add(User);
-
- string password = CommonFunctions.GenerateRandomPassword();
-
- User.User.Password = CommonFunctions.GetHashSHA256(password + "≡∆≤≥√∞ProVision");
- User.User.ChangePassword = true;
- User.User.SystemRole = SystemRole.RestaurantUser;
-
- //TODO: Email generated password to the email address
-
- Save();
- }
-
- public void RemoveUser(int id)
- {
- var user = dBContext.Users.Where(u => u.Id == id).FirstOrDefault();
- var rUser = dBContext.RestaurantUsers.Where(r => r.UserId == user.Id).FirstOrDefault();
-
- dBContext.Users.Remove(user);
- dBContext.RestaurantUsers.Remove(rUser);
- Save();
- }
-
- public void Save()
- {
- dBContext.SaveChanges();
- }
-
- public void UpdateUser(RestaurantUser User)
- {
- dBContext.Entry(User.User).State = EntityState.Modified;
- Save();
- }
- }
- }
|