Пример #1
0
        public void Update(IUser user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }
            if (user.Id <= 0)
            {
                throw new ArgumentException("User Id must be a positive integer.", "user");
            }
            using (var context = CrmContextFactory.Get())
            {
                var dbUser = context.Users.Find(user.Id);
                if (dbUser == null)
                {
                    throw new ArgumentException("Trying to update non-existent user.", "user");
                }

                dbUser.FirstName = user.FirstName;
                dbUser.LastName  = user.LastName;
                dbUser.Login     = user.Login;

                context.SaveChanges();
            }
        }
Пример #2
0
 public IUser Read(int id)
 {
     using (var context = CrmContextFactory.Get())
     {
         try
         {
             return
                 (context.Users.AsNoTracking()
                  .Where(user => user.Id == id)
                  .Select(
                      user => new DomainUser
             {
                 Id = user.Id,
                 FirstName = user.FirstName,
                 LastName = user.LastName,
                 Login = user.Login
             }
                      )
                  .First());
         }
         catch (InvalidOperationException ex)
         {
             throw new ArgumentException("User not found.", "id", ex);
         }
     }
 }
Пример #3
0
 public void SetPassword(int id, string password)
 {
     using (var context = CrmContextFactory.Get())
     {
         var dbUser = context.Users.Find(id);
         if (dbUser == null)
         {
             throw new ArgumentException("User not found.", "id");
         }
         dbUser.Password.Hash = GetPasswordHash(password);
         context.SaveChanges();
     }
 }
Пример #4
0
 public void Delete(int id)
 {
     if (id <= 0)
     {
         throw new ArgumentException("User Id must be a positive integer.", "id");
     }
     using (var context = CrmContextFactory.Get())
     {
         var dbUser = context.Users.Find(id);
         if (dbUser == null)
         {
             return;
         }
         context.Users.Remove(dbUser);
         context.SaveChanges();
     }
 }
Пример #5
0
        public void Create(IUser user, string password)
        {
            using (var context = CrmContextFactory.Get())
            {
                context.Users.Add(
                    new User
                {
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Login     = user.Login,
                    Password  = { Hash = GetPasswordHash(password) }
                }
                    );

                context.SaveChanges();
            }
        }
Пример #6
0
        internal static void Add(ContactsViewModel ContactsModel)
        {
            using (var context = CrmContextFactory.Get())
            {
                foreach (var NewContact in ContactsModel.GetAll())
                {
                    Contact NewContactDB = new Contact
                    {
                        ClientId  = ContactsModel.GetClientId(),
                        PhoneNr   = NewContact.PhoneNr,
                        PhoneType = NewContact.PhoneType,
                    };
                    context.Contacts.Add(NewContactDB);
                }

                context.SaveChanges();
            }
        }
Пример #7
0
 public IEnumerable <IUser> GetAll()
 {
     using (var context = CrmContextFactory.Get())
     {
         return
             (context.Users.AsNoTracking()
              .Select(
                  user => new DomainUser
         {
             Id = user.Id,
             FirstName = user.FirstName,
             LastName = user.LastName,
             Login = user.Login
         }
                  )
              .ToList());
     }
 }
Пример #8
0
        public IUser Authenticate(string login, string password)
        {
            if (string.IsNullOrEmpty(login))
            {
                return(null);
            }
            var hash = string.IsNullOrEmpty(password) ? null : GetPasswordHash(password);

            using (var context = CrmContextFactory.Get())
            {
                return(context.Users
                       .Where(user =>
                              login.Equals(user.Login, StringComparison.InvariantCultureIgnoreCase) &&
                              Equals(user.Password.Hash, hash)
                              )
                       .Select(user =>
                               new DomainUser {
                    Id = user.Id, Login = user.Login, FirstName = user.FirstName, LastName = user.LastName
                }
                               )
                       .FirstOrDefault());
            }
        }