public bool ResolveUsers()
 {
     if (_Entity.Users != null)
     {
         _Users = new List<User>();
         foreach(UserEntity entity in _Entity.Users)
         {
             User u = new User(entity);
             _Users.Add(u);
         }
     }
     else
     {
         return false;
     }
     return true;
 }
 public User CreateUser_Json(User user)
 {
     return CreateANCRUser(user);
 }
        public User CreateANCRUser(User user)
        {
            CriticalResultsEntityManager manager = new CriticalResultsEntityManager();
            UserEntity userEntity = manager.CreateUserEntity(user.ToEntity());

            AuditEvent("CreateUser:Success", user.UserName);

            LevelEntity[] levels = manager.GetLevels();
            List<string> levelNames = new List<string>();
            foreach (LevelEntity level in levels)
            {
                levelNames.Add(level.Name);
            }

            TransportEntity[] transports = manager.GetAllTransports();
            foreach (TransportEntity transport in transports)
            {
                bool addTransport = true;
                foreach (UserTransportEntity userTransport in userEntity.UserTransports)
                {
                    if (userTransport.Transport.Name == transport.Name)
                    {
                        addTransport = false;
                    }
                }
                if (addTransport)
                {
                    if (user.Transports != null)
                    {
                        bool transportFound = false;
                        for (int i = 0; i < user.Transports.Length; i++)
                        {
                            if (user.Transports[i].Transport.Name == transport.Name)
                            {
                                if (user.Transports[i].Address == null)
                                {
                                    user.Transports[i].Address = "";
                                }
                                manager.CreateUserTransport(userEntity.UserName, transport.Name, user.Transports[i].Address);
                                manager.UpdateLevelsToUserTransport(user.UserName, transport.Name, user.Transports[i].Address, levelNames.ToArray());
                                transportFound = true;

                            }
                        }
                        if (!transportFound)
                        {
                            manager.CreateUserTransport(userEntity.UserName, transport.Name, "");
                            manager.UpdateLevelsToUserTransport(user.UserName, transport.Name, "", levelNames.ToArray());
                        }
                    }
                    else
                    {
                        manager.CreateUserTransport(userEntity.UserName, transport.Name, "");
                        manager.UpdateLevelsToUserTransport(user.UserName, transport.Name, "", levelNames.ToArray());
                    }
                }
            }

            userEntity = manager.GetUser(user.UserName);

            //bool passwordFound = false;
            //foreach (UserEntryEntity uee in e.UserEntries)
            //{
            //    if (uee.Type == "AuthExt" && uee.Key == "ANCR")
            //        passwordFound = true;
            //}
            //if(!passwordFound)
            //    GeneratePassword(user.UserName);

            User u = new User(userEntity);
            u.ResolveRoles();
            u.ResolveTransports();
            u.ResolveEntries();
            return u;
        }
 public User UpdateUser_Json(User user)
 {
     return UpdateUser(user);
 }
 public User UpdateUser(User user)
 {
     UserEntity e = new CriticalResultsEntityManager().UpdateUserEntity(user.ToEntity());
     return new User(e);
 }
        public User[] QueryUsers(string queryString, int? pageSize, int? pageNumber)
        {
            _Trace.TraceEvent(TraceEventType.Verbose, -1, "QueryUsers");

            UserEntity[] entities = new CriticalResultsEntityManager().QueryUserEntity(queryString, pageSize, pageNumber);
            List<User> users = new List<User>();
            foreach (UserEntity e in entities)
            {
                if (!e.Roles.IsLoaded)
                    e.Roles.Load();
                User u = new User(e);
                u.ResolveRoles();
                users.Add(u);
            }
            return users.ToArray();
        }
        public User GetUser_NonWeb(string userName)
        {
            _Trace.TraceEvent(TraceEventType.Verbose, -1, "GetUser_NonWeb");

            UserEntity e = new CriticalResultsEntityManager().GetUser(userName);
            if (e == null)
                return null;
            User u = new User(e);
            u.ResolveRoles();
            u.ResolveTransports();
            u.ResolveProxied();
            u.ResolveProxies();
            u.ResolveEntries();
            foreach (UserTransport t in u.Transports)
            {
                t.ResolveLevels();
            }
            return u;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string userAgent = Request.ServerVariables.GetValues("HTTP_USER_AGENT")[0].ToString();
            string[] userAgentSections = userAgent.Split(new char[] { '/' });
            if (userAgentSections[0].ToLowerInvariant().Contains("blackberry"))
            {
                int bbMajVer = Int32.Parse(userAgentSections[1].ToCharArray()[0].ToString());
                if (bbMajVer < 5)
                {
                    //notMyPatient.Enabled = false;
                }
            }

            try
            {
                _Token = new Guid((string)Session["Token"]);
                _LoggedInUser = (User)Session["User"];
            }
            catch (ArgumentNullException)
            {
                Response.Redirect("~/Default.aspx");
            }
            _ResultUuid = new Guid(Request.QueryString["ResultUuid"]);
            string ip = Utilities.GetIP4Address();
            HTTPCheckRoles roles;
            if (CheckTokenUtil.CheckToken(_LoggedInUser.UserName, _Token.ToString(), ip, Request.HttpMethod, true, out roles))
            {
                _SystemSettings = _Service.GetSettings("System");
                _Result = _Service.GetResult(_ResultUuid.ToString());
                _Acknowledgement = _Service.GetResultAcknowledgment(_ResultUuid.ToString());
                BuildDetail();
            }
            else
            {
                Response.Write("You are not logged into ANCR.  Please login to view this page.");
            }
        }
        public User CreateUser(ActiveDirectoryUser adUser)
        {
            ActiveDirectoryUser[] adUsers = _Service.SearchActiveDirectory(adUser.cn);
            if (adUsers.Length > 1)
            {
                throw new UserCreationException("Multiple user accounts found in Active Directory for " + adUser.cn + ".  Cannot continue.");
            }
            else if (adUsers.Length == 0)
            {
                throw new UserCreationException("No user account found in Active Directory for " + adUser.cn + ".  Cannot continue.");
            }

            ResultsService manager = new ResultsService();
            Level[] levels = manager.GetLevels();
            Transport[] transports = manager.GetTransports();
            Transport smtp = null;
            foreach (Transport transport in transports)
            {
                if (transport.Name == Properties.Settings.Default.SmtpTransportName)
                    smtp = transport;
            }

            User user = new User();
            user.UserName = adUser.mail;
            user.MiddleName = "";

            user.LastName = adUser.sn ?? "";
            user.FirstName = adUser.givenName ?? "";

            user.Enabled = true;

            List<UserTransport> userTransports = new List<UserTransport>();
            if (smtp != null)
            {
                UserTransport userMail = new UserTransport();
                userMail.Address = adUser.mail ?? "";
                userMail.Levels = levels;
                userMail.Transport = smtp;
                userTransports.Add(userMail);
            }

            user.Transports = userTransports.ToArray();
            Extension.DefaultExtension.ExtendUserFromExternalDirectory(user, transports, levels, adUser.mail, adUser.proxyAddresses);

            user = manager.CreateANCRUser(user);

            manager.AssignUserToRole(user.UserName, "Receiver");
            //manager.AccountConfirmation(user.UserName);
            //manager.CreatePassword(user.UserName);

            Setting[] settings = manager.GetSettings_NonWeb("System");
            string defaultAccountDomain = "";
            foreach (Setting setting in settings)
            {
                if (setting.EntryKey == "DefaultAccountDomain")
                    defaultAccountDomain = setting.Value;
            }

            manager.UserEntry(user.UserName, "AuthExt", "Windows", defaultAccountDomain + "\\" + adUser.cn, "");
            return user;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                _Token = new Guid((string)Session["Token"]);
                _UserName = ((string)Session["UserName"]);
            }
            catch (ArgumentNullException)
            {
                Response.Redirect("~/Default.aspx");
            }

            string ip = Utilities.GetIP4Address();

            HTTPCheckRoles roles;
            if (CheckTokenUtil.CheckToken(_UserName, _Token.ToString(), ip, Request.HttpMethod, true, out roles))
            {
                if (!IsPostBack)
                {
                    _LoggedInUser = _Service.GetUser(_UserName);
                    Session["User"] = _LoggedInUser;
                    _Levels = _Service.GetAllLevels();
                    lnkFeedback.NavigateUrl = GetFeedbackUrl();
                    refresh();
                }
            }
            else
            {
                Response.Write("You are not logged into the ANCR system, please log in prior to accessing this page.");
            }
        }
 public bool ResolveUser()
 {
     if (_Entity != null)
     {
         if (_Entity.User != null)
         {
             _User = new User(_Entity.User);
         }
     }
     else
     {
         return false;
     }
     return true;
 }
示例#12
0
        public bool ResolveProxies()
        {
            if (_Entity == null)
                return false;

            if (_Entity.ProxyUsers == null)
                return false;

            _ProxyUsers = new List<User>();
            foreach (ProxyEntity entity in _Entity.ProxyUsers)
            {
                if (entity.ProxyUser == null)
                    return false;

                User u = new User(entity.ProxyUser);
                _ProxyUsers.Add(u);
            }
            return true;
        }
 public bool ResolveSenderProxy()
 {
     if (_Entity == null)
         return false;
     if (_Entity.SenderProxy == null)
         return false;
     _SenderProxy = new User(_Entity.SenderProxy);
     return true;
 }
 public bool ResolveReceiver()
 {
     if (_Entity == null)
         return false;
     if (_Entity.Receiver == null)
         return false;
     _Receiver = new User(_Entity.Receiver);
     return true;
 }
        public User[] GetAllUsers()
        {
            _Trace.TraceEvent(TraceEventType.Verbose, -1, "GetAllUsers");

            UserEntity[] entities = new CriticalResultsEntityManager().GetAllUsers();
            List<User> users = new List<User>();
            foreach (UserEntity e in entities)
            {
                User u = new User(e);
                u.ResolveRoles();
                users.Add(u);
            }
            return users.ToArray();
        }
 public User[] GetUsersForProxy(string proxyUserName)
 {
     UserEntity[] entities = new CriticalResultsEntityManager().GetUsersForProxy(proxyUserName);
     List<User> users = new List<User>();
     foreach (UserEntity e in entities)
     {
         User u = new User(e);
         users.Add(u);
     }
     return users.ToArray();
 }
        public bool ResolveUser()
        {
            if (_Entity == null)
                return false;
            if (_Entity.User == null)
                return false;

            User = new User(_Entity.User);
            return true;
        }
 public virtual void ExtendUserFromExternalDirectory(User user, Transport[] transports, Level[] levels, string email, string[] proxyAddresses)
 {
 }