public void Create(BaseEntity entity)
        {
            try
            {
                var nObj       = (User)entity;
                var resultId   = crudUser.Retrieve <User>(nObj);
                var resultUser = crudUser.RetrieveByUser <User>(nObj);

                if (resultId == null && resultUser == null)
                {
                    crudUser.Create(nObj);
                }
                else if (resultUser != null && nObj.UserName.Equals(resultUser.UserName))
                {
                    throw new BusinessException(5);
                }
                else if (resultId != null && nObj.Id.Equals(resultId.Id))
                {
                    throw new BusinessException(6);
                }
                else
                {
                    throw new BusinessException(3);
                }
            }
            catch (Exception error)
            {
                ExceptionManager.GetInstance().Process(error);
            }
        }
        public void LogIn(string userName, string password)
        {
            try
            {
                var userFactory = new UserCrudFactory();
                var currentUser = new User()
                {
                    UserName = userName
                };
                currentUser = userFactory.RetrieveByUser <User>(currentUser);

                if (currentUser == null)
                {
                    throw new BusinessException(4);
                }
                else if (currentUser.Password.Equals(password))
                {
                    FinalUser = currentUser;
                }
                else
                {
                    throw new BusinessException(7);
                }
            }
            catch (Exception error)
            {
                ExceptionManager.GetInstance().Process(error);
            }
        }