Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using MeetUp.Data;
- using MeetUp.Data.Models;
- using System;
- using System.Collections.Generic;
- using System.Data.Entity.Validation;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- namespace MeetUp.Services
- {
- public class UserService
- {
- //private readonly MeetUpDbContext db;
- public UserService()
- {
- //this.db = new MeetUpDbContext();
- }
- public bool Create(string email, string password, string fullname, string description="")
- {
- using (var db = new MeetUpDbContext())
- {
- var mailExists = db.Users.Any(u => u.Email == email);
- if(mailExists)
- {
- return false;
- }
- var user = new User
- {
- Email = email,
- Password = this.HashPassword(password, email),
- FullName = fullname,
- Description = description,
- Sex = 1,
- CityId = 1,
- };
- db.Users.Add(user);
- try
- {
- db.SaveChanges();
- } catch(DbEntityValidationException ex)
- {
- foreach (var entityValidationErrors in ex.EntityValidationErrors)
- {
- foreach (var validationError in entityValidationErrors.ValidationErrors)
- {
- System.Diagnostics.Debug.WriteLine("Property: " + validationError.PropertyName + " Error: " + validationError.ErrorMessage);
- }
- }
- }
- return true;
- }
- }
- public bool Login(string email, string password)
- {
- using (var db = new MeetUpDbContext())
- {
- var hashedPass = this.HashPassword(password, email);
- var user = db.Users.Where(u => u.Email == email && u.Password == hashedPass);
- if (user == null)
- {
- return false;
- }
- return true;
- }
- }
- public List<User> All()
- {
- using (var db = new MeetUpDbContext())
- {
- return db.Users.ToList();
- }
- }
- public string HashPassword(string password, string salt)
- {
- using (var sha1 = new SHA1Managed())
- {
- return BitConverter.ToString(sha1.ComputeHash(Encoding.UTF8.GetBytes(password + salt)));
- }
- }
- public void DeleteUser(int id)
- {
- MeetUpDbContext ctx = new MeetUpDbContext();
- var user = new User { Id = id };
- ctx.Users.Attach(user);
- ctx.Users.Remove(user);
- ctx.SaveChanges();
- }
- public void EditUser()
- {
- MeetUpDbContext ctx = new MeetUpDbContext();
- User user = ctx.Users.Create();
- user.Id = 4;
- ctx.Users.Attach(user);
- user.FullName = "darko";
- ctx.SaveChanges();
- }
- public List<User> getUsers()
- {
- List<User> allUsers = new List<User>();
- using (var context = new MeetUpDbContext())
- {
- var users = from u in context.Users select u;
- foreach (User u in users)
- {
- allUsers.Add(u);
- }
- }
- return allUsers;
- }
- public User GetUserById(int id)
- {
- User user = new User();
- using (var context = new MeetUpDbContext())
- {
- user = (from u in context.Users where u.Id == id select u).First();
- }
- return user;
- }
- public void updateUser(int id, string fullName, string email, string description, string password)
- {
- using (var context = new MeetUpDbContext())
- {
- var user = context.Users.SingleOrDefault(u => u.Id == id);
- if(user != null)
- {
- user.FullName = fullName;
- user.Description = description;
- user.Email = email;
- user.Password = this.HashPassword(password, email);
- context.SaveChanges();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement