Ejemplo n.º 1
0
        public void Create_WithNonExistingItem_DoesNotThrow()
        {
            var res = Crypto.Encrypt("testPass");

            var model = new UserDetailModelDTO
            {
                Id     = new Guid(),
                Groups = new List <GroupListModelDTO>()
                {
                    new GroupListModelDTO()
                    {
                        Id = new Guid()
                    }
                },
                Description = "Test Description",
                Email       = "*****@*****.**",
                Hash        = res.Hash,
                Gender      = Gender.Female,
                LastName    = "test",
                FirstName   = "test",
                Username    = "******",
                AdminGroups = new List <GroupListModelDTO>()
                {
                    new GroupListModelDTO()
                    {
                        Id = new Guid()
                    }
                },
                AdminOrganizations = new List <OrganizationListModelDTO>()
                {
                    new OrganizationListModelDTO()
                    {
                        Id = new Guid()
                    }
                },
                Organizations = new List <OrganizationListModelDTO>()
                {
                    new OrganizationListModelDTO()
                    {
                        Id = new Guid()
                    }
                },
                RegistrationDate = DateTime.Today,
                Password         = "******",
                Salt             = res.Salt,
                SignInLogs       = new List <LogInDetailModelDTO>()
                {
                    new LogInDetailModelDTO()
                    {
                        Id   = new Guid(),
                        User = new UserDetailModelDTO()
                    }
                }
            };

            var returnedModel = fixture.Repository.AddUser(model);

            Assert.IsNotNull(returnedModel);
        }
Ejemplo n.º 2
0
 public UserDetailModelDTO GetUserByModel(UserDetailModelDTO user)
 {
     using (var Connection = chatterDbContextFactory.CreateDbContext())
     {
         var user_name = Connection.Users.SingleOrDefault(x => x.Email == user.Email || x.Username == user.Username || x.Id == user.Id);
         return(user_name == null ? null : mapper.MapEntityToDetailModel(user_name));
     }
 }
Ejemplo n.º 3
0
        public bool Authenticate(UserDetailModelDTO user)
        {
            var userLogin = GetUserByUsername(user.Username);

            if (userLogin == null)
            {
                userLogin = GetUserByEmail(user.Username);
            }

            return(userLogin != null?Crypto.Decrypt(userLogin.Salt, userLogin.Hash, user.Password) : false);
        }
Ejemplo n.º 4
0
        public void EditUser(UserDetailModelDTO user)
        {
            using (var Connection = chatterDbContextFactory.CreateDbContext())
            {
                bool edited = false;

                User edit_user = new User()
                {
                    Id = user.Id
                };
                edit_user = Connection.Users.Where(x => x.Id == user.Id).SingleOrDefault();
                Connection.Users.Attach(edit_user);

                if (edit_user.FirstName != user.FirstName)
                {
                    edited = true;
                    edit_user.FirstName = user.FirstName;
                }

                if (edit_user.LastName != user.LastName)
                {
                    edited             = true;
                    edit_user.LastName = user.LastName;
                }

                if (edit_user.Gender != user.Gender)
                {
                    edited           = true;
                    edit_user.Gender = user.Gender;
                }

                if (edit_user.Description != user.Description)
                {
                    edited = true;
                    edit_user.Description = user.Description;
                }

                if (edit_user.Email != user.Email)
                {
                    edited          = true;
                    edit_user.Email = user.Email;
                }

                edit_user.Password = user.Hash;
                edit_user.Salt     = user.Salt;

                if (edited)
                {
                    Connection.SaveChanges();
                }
            }
        }
Ejemplo n.º 5
0
        public ICollection <CommentDetailModelDTO> GetCommentsByUser(UserDetailModelDTO user)
        {
            using (var connection = chatterDbContextFactory.CreateDbContext())
            {
                var posts = new DBPost(chatterDbContextFactory);

                var comments = new ObservableCollection <CommentDetailModelDTO>(connection.Comments.Where(x => x.User.Id == user.Id).Select(mapper.MapEntityToDetailModel));

                foreach (var comment in comments)
                {
                    comment.Post = posts.GetPostByComment(comment);
                }

                return(comments);
            }
        }
Ejemplo n.º 6
0
        public UserDetailModelDTO AddUser(UserDetailModelDTO user)
        {
            using (var Connection = chatterDbContextFactory.CreateDbContext())
            {
                var newUser = mapper.MapDetailToEntity(user);
                newUser.Id = Guid.NewGuid();

                var pass = Crypto.Encrypt(user.Password);

                newUser.Password = pass.Hash;
                newUser.Salt     = pass.Salt;

                Connection.Users.Add(newUser);

                Connection.SaveChanges();
                return(mapper.MapEntityToDetailModel(newUser));
            }
        }
Ejemplo n.º 7
0
        public void AddUserToOrganization(OrganizationDetailModelDTO organization, UserDetailModelDTO user)
        {
            using (var connection = chatterDbContextFactory.CreateDbContext())
            {
                Organization edit_organization = new Organization()
                {
                    Id = organization.Id
                };
                User_Organization newUser = new User_Organization()
                {
                    Id = user.Id
                };

                edit_organization.Users.Add(newUser);

                connection.SaveChanges();
            }
        }
Ejemplo n.º 8
0
        public User MapDetailToEntity(UserDetailModelDTO user)
        {
            if (user == null)
            {
                return new User()
                       {
                           Email = Functions.RandomString(6)
                       }
            }
            ;

            if (user.Email == null)
            {
                user.Email = Functions.RandomString(5);
            }

            byte[] Salt, Hash;

            if (user.Password == null)
            {
                Salt = user.Salt;
                Hash = user.Hash;
            }
            else
            {
                (Salt, Hash) = Crypto.Encrypt(user.Password);
            }


            return(new User()
            {
                Id = user.Id,
                Username = user.Username,
                FirstName = user.FirstName,
                LastName = user.LastName,
                Gender = user.Gender,
                Description = user.Description,
                Email = user.Email,
                Password = Hash,
                Salt = Salt,
                RegistrationDate = user.RegistrationDate,
                SignInLogs = new ObservableCollection <SignInLog>(user.SignInLogs.Select(MapDetailToEntity)),
            });
        }
Ejemplo n.º 9
0
        public void EditPassword(UserDetailModelDTO user)
        {
            string pass = user.Password;

            user          = GetUserById(user.Id);
            user.Password = pass;

            using (var Connection = chatterDbContextFactory.CreateDbContext())
            {
                User edit_user = new User()
                {
                    Id = user.Id
                };
                edit_user = Connection.Users.Where(x => x.Id == user.Id).SingleOrDefault();
                Connection.Users.Attach(edit_user);

                var(Salt, Hash) = Crypto.Encrypt(user.Password);

                edit_user.Salt     = Salt;
                edit_user.Password = Hash;

                Connection.SaveChanges();
            }
        }