コード例 #1
0
        /// <summary>
        /// Remove item from list
        /// </summary>
        /// <param name="id">
        /// ID of removing item
        /// </param>
        public async Task DeleteAsync(string id, int remainPerson)
        {
            if (remainPerson == 1)
            {
                message = new PersonsChangedMessage()
                {
                    OperationType = CRUD.Delete, IsAvailable = false
                }
            }
            ;
            else
            {
                message = new PersonsChangedMessage()
                {
                    OperationType = CRUD.Delete, IsAvailable = true
                };
                _persons.Remove(_persons.Find(a => a.Id == id));
            }

            try
            {
                await WritePersonsAsync();
            }
            catch (Exception)
            {
                return;
            }

            Messenger.Default.Send <PersonsChangedMessage>(message);
        }
コード例 #2
0
        public async Task UpdateAsync()
        {
            await Task.Run(null);

            var message = new PersonsChangedMessage()
            {
                OperationType = CRUD.Update, ExeptionMessage = string.Empty
            };

            Messenger.Default.Send <PersonsChangedMessage>(message);
        }
コード例 #3
0
        public async Task DeleteAsync(string id)
        {
            _persons.Remove(_persons.Find(x => x.Id == id));

            await WritePersonsAsync();

            var message = new PersonsChangedMessage()
            {
                OperationType = CRUD.Delete, ExeptionMessage = string.Empty
            };

            Messenger.Default.Send <PersonsChangedMessage>(message);
        }
コード例 #4
0
        public async Task UpdateAsync(Person person)
        {
            var _person = _persons.FirstOrDefault(p => p.Id == person.Id);

            _persons.Remove(_person);
            _persons.Add(person);

            await WritePersonsAsync();

            var message = new PersonsChangedMessage()
            {
                OperationType = CRUD.Update, IsAvailable = true
            };

            Messenger.Default.Send <PersonsChangedMessage>(message);
        }
コード例 #5
0
        public async Task AddAsync(Person person)
        {
            if (_persons == null)
            {
                _persons = await ReadPersonsAsync();
            }

            _persons.Add(person);

            await WritePersonsAsync();

            var message = new PersonsChangedMessage()
            {
                OperationType = CRUD.Create, ExeptionMessage = string.Empty
            };

            Messenger.Default.Send <PersonsChangedMessage>(message);
        }
コード例 #6
0
        private async void HandlePersonsChangedMessage(PersonsChangedMessage message)
        {
            switch (message.OperationType)
            {
            case CRUD.Delete:
                this.Persons.Remove(this.SelectedPerson);
                break;

            case CRUD.Update:

                SelectedPerson.IsFavorite = (SelectedPerson.IsFavorite == true) ? false : true;
                break;

            default:
                await new MessageDialog(message.ExeptionMessage).ShowAsync();
                break;
            }
        }
コード例 #7
0
        public async Task UpdateAsync(Person person)
        {
            //var _person = _persons.Where((Person p) => p.Id == person.Id).FirstOrDefault();

            var _person = _persons.FirstOrDefault(p => p.Id == person.Id);

            _persons.Remove(_person);
            _persons.Add(person);

            await WritePersonsAsync();

            var message = new PersonsChangedMessage()
            {
                OperationType = CRUD.Update, ExeptionMessage = string.Empty
            };

            Messenger.Default.Send <PersonsChangedMessage>(message);

            //await Task.CompletedTask;
        }
コード例 #8
0
        private async void HandlePersonsChangedMessage(PersonsChangedMessage message)
        {
            if (!message.IsAvailable)
            {
                ContentDialog invailidOperationDialog = new ContentDialog
                {
                    Title             = $"Invailid operation",
                    Content           = $"Not availbale operation",
                    PrimaryButtonText = "OK"
                };
                await invailidOperationDialog.ShowAsync();

                return;
            }

            switch (message.OperationType)
            {
            case CRUD.Delete:
                Persons.Remove(SelectedPerson);
                break;

            case CRUD.Update:
                SelectedPerson.IsFavorite = (FavoriteSymbol == Symbol.Favorite) ? true : false;
                break;

            default:
                ContentDialog notFoundDialog = new ContentDialog
                {
                    Title             = $"NOT FOUND",
                    Content           = $"Unknown exception",
                    PrimaryButtonText = "OK"
                };
                await notFoundDialog.ShowAsync();

                break;
            }
        }