Esempio n. 1
0
        public void RegisterAddressBook(IAddressBook addressBook)
        {
            var targetWrapper = _addressBooks.FirstOrDefault(x => x.Key == addressBook.Key);

            if (targetWrapper == null)
            {
                lock (_addressBooks)
                {
                    using (new EnsuredResourceCriticalOperation(_sqlConnection))
                        using (var command = _sqlConnection.CreateCommand())
                        {
                            command.CommandText = @"insert into addressbooks(key, name) values (@key, @name)";

                            command.Parameters.Add(new SQLiteParameter("key", addressBook.Key.ToString("D")));
                            command.Parameters.Add(new SQLiteParameter("name", addressBook.Name));

                            command.ExecuteNonQuery();
                        }

                    targetWrapper = new AddressBookLocal(this, GetLastInsertRowId(), addressBook);
                    _addressBooks.Add(targetWrapper);
                }
            }
            else
            {
                targetWrapper.UpdateInstance(addressBook);

                _updateWatcher.QueueCheck(targetWrapper);
            }
        }
Esempio n. 2
0
        async Task <List <Person> > AddressBookUpdate()
        {
            IAddressBook  addressBook = DependencyService.Get <IAddressBook> ();
            List <Person> bookList    = addressBook.GetPeople();

            string           lastUpdatedString = DependencyService.Get <IUserPreferences> ().GetString("LastUpdated");
            DateTime         lastUpdated       = DateTime.FromBinary(Convert.ToInt64(lastUpdatedString));
            PersonRepository repo   = new PersonRepository();
            List <Person>    result = null;

            if (lastUpdated <= DateTime.MinValue)
            {
                repo.DeleteAll();

                foreach (Person p in bookList)
                {
                    repo.Create(p);
                }

                result = bookList;
            }

            DependencyService.Get <IUserPreferences> ().SetString("LastUpdated", DateTime.Now.ToBinary().ToString());

            return(result);
        }
Esempio n. 3
0
        internal AddressBookLocal(ContactsManager contactsManager, long id, IAddressBook instance)
        {
            Id = id;

            _contactsManager = contactsManager;
            _instance        = instance;
        }
Esempio n. 4
0
        async void LoadPeople()
        {
            dictionary = new List <KeyValuePair <string, Person> > ();
            encoder    = new T9Encoder();

            searchBar.TextChanged += OnSearchBarTextChanged;

            people = new PersonRepository().ReadAll();

            people.Sort((Person p1, Person p2) => {
                return(p1.DisplayName.CompareTo(p2.DisplayName));
            });

            resultList.BackgroundColor = Color.FromHex("#cfd2d6");
            //resultList.VerticalOptions = LayoutOptions.Center;

            resultList.ItemTemplate = new DataTemplate(() => {
                // Create views with bindings for displaying each property.
                Label nameLabel = new Label();
                nameLabel.SetBinding(Label.TextProperty, "DisplayName");
                nameLabel.Font            = Font.OfSize("GillSans-Bold", NamedSize.Medium);
                nameLabel.TextColor       = Color.White;
                nameLabel.VerticalOptions = LayoutOptions.Center;

                Label detailsLabel = new Label();
                detailsLabel.SetBinding(Label.TextProperty, "Details");
                detailsLabel.VerticalOptions = LayoutOptions.Center;
                detailsLabel.Font            = Font.OfSize("GillSans", NamedSize.Small);
                detailsLabel.TextColor       = Color.FromHex("#78b9b5");

                return(new ContactViewCell {
                    View =
                        new StackLayout {
                        Spacing = 0,
                        Padding = new Thickness(5, 3, 1, 3),
                        Orientation = StackOrientation.Vertical,
                        BackgroundColor = Color.FromHex("#494c53"),
                        VerticalOptions = LayoutOptions.FillAndExpand,
                        HorizontalOptions = LayoutOptions.FillAndExpand,
                        Children =
                        {
                            //img,
                            nameLabel,
                            detailsLabel
                        }
                    }
                });
            });

            resultList.ItemTapped += OnItemTapped;

            searchBar.Focus();

            IAddressBook addressBook = DependencyService.Get <IAddressBook> ();

            people = addressBook.GetPeople();

            resultList.ItemsSource = SearchResult;
        }
 private void DisposeGABContacts(IAddressBook gab)
 {
     if (SuppressModifications)
     {
         // Unhook the event to prevent the gab lingering in memory
         gab.BeforeItemMove -= SuppressMoveEventHandler;
     }
 }
        public ContactsProvider(IAddressBook addressBook)
        {
            // TODO: Try/Catch this explicit cast or no big deal cause I control it?
            _addressBook = addressBook as AddressBook;

            // TODO:  Original sample does NOT await here in ctor, because ctor is not async method
            // TODO: can HasPermissionToUseAddressBook() have bad info? and report null too early?
            // TODO: DO I even need that method on the interface?  Hide it?
            CheckOrRequestAddressBookPermission();
        }
        public void Open()
        {
            if (_addressBook == null)
            {
                _addressBook = new AddressBookImpl(_file);
            }

            foreach (var address in _localAddresses)
            {
                _addressBook.Add(address);
            }
        }
Esempio n. 8
0
 private void CleanupContactsObject()
 {
     if (_contacts != null)
     {
         if (_contactsDisposer != null)
         {
             _contactsDisposer(_contacts);
         }
         _contacts.Dispose();
         _contacts = null;
     }
 }
        private IAddressBook CreateGABContacts(string domainName)
        {
            if (_store != null)
            {
                _store.Dispose();
                _store = null;
            }
            _store = ZPushLocalStore.GetInstance(ThisAddIn.Instance);
            if (_store == null)
            {
                return(null);
            }

            // Try to find the existing GAB
            using (IFolder root = _store.GetRootFolder())
            {
                IAddressBook gab = FindGABForDomain(root, domainName);
                if (gab == null)
                {
                    Logger.Instance.Debug(this, "Creating new GAB folder for {0}", domainName);
                    string name = string.Format(Properties.Resources.GAB_FolderFormat, domainName);
                    gab = root.CreateFolder <IAddressBook>(name);
                }
                else
                {
                    Logger.Instance.Debug(this, "Found existing GAB folder for {0}", domainName);
                }

                // The local folders are hidden, unhide tha GAB folder
                gab.AttrHidden = false;

                // Update admin
                _gabFolders.Add(gab.EntryID);
                GABInfo gabInfo = GABInfo.Get(gab, domainName);
                gabInfo.Store(gab);

                if (SuppressModifications)
                {
                    // Hook BeforeMove event to prevent modifications
                    // TODO: use ZPushWatcher for this?
                    gab.BeforeItemMove += SuppressMoveEventHandler;
                }

                return(gab);
            }
        }
Esempio n. 10
0
        public Network(Blockchain blockchain, IAddressBook addressBook, INetworkConfig config, ISignatureProvider signer)
        {
            this.config = config;

            AddressBook = addressBook;
            Blockchain  = blockchain;

            client = new P2PClient()
            {
                Signer = signer
            };
            server = new P2PServer
                     (
                config.PeerHostName,
                config.PeerPort
                     );

            server.OnBlockAccepted       += (sender, eventArgs) => Blockchain?.AcceptBlock(eventArgs.Block);
            server.OnTransactionAccepted += (sender, eventArgs) => Blockchain?.AcceptTransaction(eventArgs.Transaction);
        }
Esempio n. 11
0
 public AddressController()
 {
     this.address = new AddressBookRepository(new AddressEntities());
 }
        public PersonDetailViewController (IntPtr handle) : base (handle)
        {
			_addressBook = AddressBookFactory.Instance();
        }
Esempio n. 13
0
 public AddressBookFeatures()
 {
     addressBook = new CreateAddressBook();
 }
Esempio n. 14
0
 /// <summary>
 /// A simple export to <option> IExport implementation.
 /// </summary>
 /// <param name="option"></param>
 public bool ExportTo(Options option, IAddressBook addressBook)
 {
     //throw new NotImplementedException();
     return(false);
 }
Esempio n. 15
0
		public static IAddressBook Instance()
		{
			return _instance ?? (_instance = new FileAddressBook());
		}
 public PersonDetailActivity()
 {
     _addressBook = AddressBookFactory.Instance();
 }
Esempio n. 17
0
 /**
  * @param \OCP\IAddressBook $addressBook
  */
 public void unregisterAddressBook(IAddressBook addressBook)
 {
     this.addressBooks.Remove(addressBook.getKey());
 }
Esempio n. 18
0
 /**
  * @param \OCP\IAddressBook $addressBook
  */
 public void registerAddressBook(IAddressBook addressBook)
 {
     this.addressBooks.Add(addressBook.getKey(), addressBook);
 }
        public AddressBookOverviewTableViewController (IntPtr handle) : base (handle)
        {
			//_addressBook = new MyAddressbook.Core.Services.AddressBook();
			_addressBook = AddressBookFactory.Instance();

        }
 public PeopleOverviewActivity()
 {
     _addressBook = AddressBookFactory.Instance();
 }
Esempio n. 21
0
 internal void UpdateInstance(IAddressBook instance)
 {
     _instance = instance;
 }