Advertisement
Guest User

Untitled

a guest
Dec 16th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.90 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Runtime.InteropServices;
  4. using TimeTableSiteDomain;
  5. using TimeTableSiteRepository.Interfaces;
  6. using TimeTableSiteServices.Common;
  7.  
  8. namespace TimeTableSiteServices
  9. {
  10.     public class UserService : ServiceBase<UserEntity>
  11.     {
  12.         private readonly IUserRepository _userRepository;
  13.         public UserService(IUserRepository repository) : base(repository)
  14.         {
  15.             _userRepository = repository;
  16.         }
  17.  
  18.         public bool Autorization(string login, string password)
  19.         {
  20.             var existsLogin = _userRepository.FindLogin(login);
  21.  
  22.             return existsLogin.Count != 0 && CheckPassword(password, existsLogin[0].Password);
  23.         }
  24.  
  25.         public bool AddUser(string name, string login, string password, string email)
  26.         {
  27.             var existsLogin = _userRepository.FindLogin(login);
  28.             if (existsLogin.Count != 0) return false;
  29.  
  30.             _userRepository.Add(new UserEntity
  31.             {
  32.                 Login = login,
  33.                 Mail = email,
  34.                 Name = name,
  35.                 Password = password
  36.             });
  37.             _userRepository.Save();
  38.             return true;
  39.         }
  40.  
  41.         public void DeleteUser(string login)
  42.         {
  43.             var user = _userRepository.FindLogin(login);
  44.             if (user.Count == 0) return;
  45.  
  46.             _userRepository.Delete(user.First());
  47.             _userRepository.Save();
  48.         }
  49.  
  50.         private static bool CheckPassword(string password, string passwordHash)
  51.         {
  52.             return password == passwordHash;
  53.         }
  54.  
  55.         public bool UpdatePassword(string login, string oldPassword, string newPassword)
  56.         {
  57.             var user = _userRepository.FindLogin(login);
  58.            
  59.             if ((user.Count == 0) && (!CheckPassword(oldPassword, user[0].Password))) return false;
  60.  
  61.             user[0].Password = newPassword;
  62.  
  63.             _userRepository.Update(user[0]);
  64.             _userRepository.Save();
  65.  
  66.             return true;
  67.         }
  68.  
  69.         public UserEntity FindUser(string login)
  70.         {
  71.             var user = _userRepository.FindLogin(login);
  72.             return user.Count != 0 ? user[0] : null;
  73.         }
  74.  
  75.         public bool UpdateName(string login, string name)
  76.         {
  77.             var user = _userRepository.FindLogin(login);
  78.             if (user.Count == 0) return false;
  79.  
  80.             user[0].Name = name;
  81.  
  82.             _userRepository.Update(user[0]);
  83.             _userRepository.Save();
  84.             return true;
  85.         }
  86.  
  87.         public bool UpdateMail(string login, string mail)
  88.         {
  89.             var user = _userRepository.FindLogin(login);
  90.             if (user.Count == 0) return false;
  91.  
  92.             user[0].Mail = mail;
  93.  
  94.             _userRepository.Update(user[0]);
  95.             _userRepository.Save();
  96.             return true;
  97.         }
  98.  
  99.     }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement