Пример #1
0
        public List <AddressBookItem> SelectAll()
        {
            const string SQL_STATEMENT =
                "SELECT * " +
                "FROM AddressBook;";

            List <AddressBookItem> result = null;

            using (SqliteConnection con = new SqliteConnection(base.CacheConnectionString))
                using (SqliteCommand cmd = new SqliteCommand(SQL_STATEMENT, con))
                {
                    cmd.Connection.Open();
                    using (SqliteDataReader dr = cmd.ExecuteReader())
                    {
                        result = new List <AddressBookItem>();

                        while (dr.Read())
                        {
                            AddressBookItem item = new AddressBookItem();
                            item.Id        = GetDataValue <long>(dr, "Id");
                            item.Address   = GetDataValue <string>(dr, "Address");
                            item.Tag       = GetDataValue <string>(dr, "Tag");
                            item.Timestamp = GetDataValue <long>(dr, "Timestamp");

                            result.Add(item);
                        }
                    }
                }

            return(result);
        }
Пример #2
0
        public AddressBookItem SelectByAddress(string address)
        {
            const string SQL_STATEMENT =
                "SELECT * " +
                "FROM AddressBook " +
                "WHERE Address = @Address;";

            AddressBookItem item = null;

            using (SqliteConnection con = new SqliteConnection(base.CacheConnectionString))
                using (SqliteCommand cmd = new SqliteCommand(SQL_STATEMENT, con))
                {
                    cmd.Parameters.AddWithValue("@Address", address);

                    cmd.Connection.Open();
                    using (SqliteDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.Read())
                        {
                            item           = new AddressBookItem();
                            item.Id        = GetDataValue <long>(dr, "Id");
                            item.Address   = GetDataValue <string>(dr, "Address");
                            item.Tag       = GetDataValue <string>(dr, "Tag");
                            item.Timestamp = GetDataValue <long>(dr, "Timestamp");
                        }
                    }
                }

            return(item);
        }
Пример #3
0
 public void ImportUserProfile(AddressBookItem item)
 {
     this.importUserProfile = item;
     this.userProfile       = null;
     if (this.importUserProfile != null)
     {
         UpdatePropertiesFromImportUserProfile();
     }
 }
        public override Task <RequestDetails> ProcessRequestAsync()
        {
            // A request is coming into Infiniti. Check if it's a IDP callback.
            var result     = new RequestDetails();
            var requestUri = GetRequestUrl().PathAndQuery;

            if (requestUri.IndexOf("account/externalcallback/sample", StringComparison.OrdinalIgnoreCase) > -1)
            {
                // Implement custom extension details here. Confirm posted details from the IDP and that
                // it actually came from the IDP

                string username  = "******";
                User   checkUser = Intelledox.Controller.UserController.FindUserByUsername(username);

                if (checkUser == null)
                {
                    // New user not previously known to Infiniti

                    // Create address
                    Intelledox.Model.AddressBookItem ixUserAddress = new AddressBookItem();
                    Intelledox.Controller.AddressController.Update(ixUserAddress);

                    // Create user
                    bool exceedsLicenseLimit           = false;
                    Intelledox.DataObjects.User ixUser = new Intelledox.DataObjects.User();
                    ixUser.Username         = username;
                    ixUser.BusinessUnitGuid = Intelledox.Controller.BusinessUnitController.GetBusinessUnitsList()[0].BusinessUnitGuid;
                    ixUser.AddressId        = ixUserAddress.AddressId;
                    ixUser.Update(ref exceedsLicenseLimit);

                    if (exceedsLicenseLimit || ixUser.ID <= 0)
                    {
                        // Fail fast
                        throw new Exception(exceedsLicenseLimit ? "License Exceeded" : "User Creation Error");
                    }

                    checkUser = Intelledox.Controller.UserController.FindUserByUsername(username);
                }

                if (checkUser.IsDisabled)
                {
                    // Deny access
                    result.RequestAction = RequestAction.Unauthorized;
                }
                else
                {
                    // Successful login, return the identity
                    var ident = Intelledox.Auth.SessionProperties.GetClaimsIdentity(checkUser.UserId, null, allowLogout: true);

                    result.LoginIdentity = ident;
                }
            }

            return(Task.FromResult(result));
        }
Пример #5
0
        public virtual void InsertOrUpdate(string address, string tag)
        {
            var             key  = GetKey(UserTables.AddressItem, address);
            AddressBookItem item = new AddressBookItem {
                Address = address, Tag = tag, Timestamp = Time.EpochTime
            };

            UserDomain.Put(key, item);

            if (!AddressBook.Contains(address))
            {
                AddressBook.Add(address);
            }
            UpdateAddressBook(AddressBook);
        }
Пример #6
0
        public List <AddressBookItem> SelectAddessListByTag(string tag)
        {
            const string SQL_STATEMENT =
                "SELECT * " +
                "FROM AddressBook " +
                "WHERE Tag = @Tag;";

            List <AddressBookItem> result = null;

            using (SqliteConnection con = new SqliteConnection(base.CacheConnectionString))
                using (SqliteCommand cmd = new SqliteCommand(SQL_STATEMENT, con))
                {
                    if (tag == null)
                    {
                        cmd.Parameters.AddWithValue("@Tag", DBNull.Value);
                    }
                    else
                    {
                        cmd.Parameters.AddWithValue("@Tag", tag);
                    }

                    cmd.Connection.Open();
                    using (SqliteDataReader dr = cmd.ExecuteReader())
                    {
                        result = new List <AddressBookItem>();

                        while (dr.Read())
                        {
                            AddressBookItem item = new AddressBookItem();
                            item.Id        = GetDataValue <long>(dr, "Id");
                            item.Address   = GetDataValue <string>(dr, "Address");
                            item.Tag       = GetDataValue <string>(dr, "Tag");
                            item.Timestamp = GetDataValue <long>(dr, "Timestamp");

                            result.Add(item);
                        }
                    }
                }

            return(result);
        }
Пример #7
0
 public void Clear()
 {
     ClearProperties();
     userProfile       = null;
     importUserProfile = null;
 }
Пример #8
0
 public RecordUserProfile(AddressBookItem item)
 {
     ImportUserProfile(item);
 }