示例#1
0
        private async Task Save()
        {
            if (String.IsNullOrWhiteSpace(Contact.FirstName) && String.IsNullOrWhiteSpace(Contact.LastName))
            {
                await _pageService.DisplayAlert("Error", "Please enter the name.", "OK");

                return;
            }

            if (Contact.Id == 0)
            {
                await _contactStore.AddContact(Contact);

                //ContactAdded?.Invoke(this, Contact);
                MessagingCenter.Send(this, Events.ContactAdded, Contact);
            }
            else
            {
                await _contactStore.UpdateContact(Contact);

                //ContactUpdated?.Invoke(this, Contact);
                MessagingCenter.Send(this, Events.ContactUpdated, Contact);
            }

            await _pageService.PopAsync();
        }
        async Task SaveContact()
        {
            if (string.IsNullOrEmpty(Contact.Name))
            {
                await _pageService.DisplayAlert("Error", "Please enter a name.", "OK");

                return;
            }

            if (Contact.Id == 0)
            {
                await _contactStore.AddContact(Contact);

                MessagingCenter.Send(this, "ContactAdded", Contact);
            }

            else
            {
                await _contactStore.UpdateContact(Contact);

                _selectedContact.Id        = Contact.Id;
                _selectedContact.FirstName = Contact.FirstName;
                _selectedContact.LastName  = Contact.LastName;
                _selectedContact.Phone     = Contact.Phone;
                _selectedContact.Email     = Contact.Email;
                _selectedContact.Blocked   = Contact.Blocked;
            }

            await _pageService.PopAsync();
        }
示例#3
0
        /// <summary>
        /// Metodo encargado de guardar en la BBDD el contacto al pulsar el boton de Save.
        /// </summary>
        /// <returns>Tarea en un hilo a parte.</returns>
        async Task Save()
        {
            //Si el nombre o el apellido estan vacios mostramos alerta al usuario.
            if (String.IsNullOrWhiteSpace(Contact.FirstName) &&
                String.IsNullOrWhiteSpace(Contact.LastName))
            {
                await _pageService.DisplayAlert("Error", "Please enter the name.", "OK");

                return;
            }

            if (Contact.Id == 0)//Si el contacto es nuevo (no esta actualizando uno existente)
            {
                //añadimos a la lista
                await _contactStore.AddContact(Contact);

                //Si el contacto ha sido añadido lanzamos evento mediante el centro de mensajes
                MessagingCenter.Send(this, Events.ContactAdded, Contact);
            }
            else
            {//Si no esta vacio el Id del contacto estan actualizando uno existente.
                await _contactStore.UpdateContact(Contact);

                //Si se ha añadido a la lista disparamos evento mediante el centro de mensajes
                MessagingCenter.Send(this, Events.ContactUpdated, Contact);
            }
            //Y volvemos a la lista de contactos mediante el servicio de la PAge.
            await _pageService.PopAsync();
        }
示例#4
0
        public async void SaveContact()
        {
            if (string.IsNullOrWhiteSpace(Contact.FirstName) &&
                string.IsNullOrWhiteSpace(Contact.Surname))
            {
                await _pageService.DisplayAlert("Invalid contact", "Please enter a name for your contact", "OK");

                return;
            }

            // Id==0 indicates a new contact
            if (Contact.Id == 0)
            {
                await _contactStore.AddContact(Contact);

                MessagingCenter.Send(this, Events.ContactAdded, Contact);
            }
            else
            {
                await _contactStore.UpdateContact(Contact);

                MessagingCenter.Send(this, Events.ContactUpdated, Contact);
            }

            // Database and contacts page are updated
            // so navigate back to the contacts page
            await _pageService.PopAsync();
        }