コード例 #1
0
        private HealtCareItemViewModel CreateTodoItemViewModel(HealtCareItem item)
        {
            var itemViewModel = new HealtCareItemViewModel(item);

            itemViewModel.ItemStatusChanged += ItemStatusChanged;
            return(itemViewModel);
        }
コード例 #2
0
        public async Task RemoveItem(HealtCareItem item)
        {
            await CreateConnection();

            await connection.DeleteAsync(item);

            OnItemDeleted?.Invoke(this, item);
        }
コード例 #3
0
        public async Task UpdateItem(HealtCareItem item)
        {
            await CreateConnection();

            await connection.UpdateAsync(item);

            OnItemUpdated?.Invoke(this, item);
        }
コード例 #4
0
        public async Task AddItem(HealtCareItem item)
        {
            await CreateConnection();

            await connection.InsertAsync(item);

            OnItemAdded?.Invoke(this, item);
        }
コード例 #5
0
 public async Task AddOrUpdate(HealtCareItem item)
 {
     if (item.Id == 0)
     {
         await AddItem(item);
     }
     else
     {
         await UpdateItem(item);
     }
 }
コード例 #6
0
        public ItemViewModel(HealtCareItemRepository repository)
        {
            this.repository = repository;
            Title           = "Richiesta Rimborso";
            Iscritto IscrittoAssociazione = DataStore.GetIscrittoAsync().Result;
            IEnumerable <Prestazione> ListaPrestazioni = DataStore.GetPrestazioniAsync().Result;
            List <Prestazione>        List             = new List <Prestazione>();

            foreach (Prestazione p in ListaPrestazioni)
            {
                List.Add(p);
            }
            Prestazioni = List;
            RaisePropertyChanged(nameof(Prestazioni));

            Item = new HealtCareItem()
            {
                Richiedente = IscrittoAssociazione.Id, DataFattura = DateTime.Now, DataRichiesta = DateTime.Now, Conferma = false, Trasmessa = false
            };

            MessagingCenter.Subscribe <ItemView, int>(this, "TipologiaPrestazioneSelezionata", (obj, IdTipologia) =>
            {
                Item.Tipologia = IdTipologia;
                if (Item.ImportoFattura > 0)
                {
                    Item.ImportoACarico = Item.ImportoFattura - Item.ImportoRimborsatoDaTerzi;
                    foreach (Prestazione p in Prestazioni)
                    {
                        if (p.Id.Equals(Item.Tipologia))
                        {
                            Item.ImportoDaRimborsare = (Item.ImportoACarico * p.PercentualeRimborso) / 100;
                            break;
                        }
                    }
                }
                RaisePropertyChanged(nameof(Item));
            });

            MessagingCenter.Subscribe <ItemView, bool>(this, "ChangeConfermata", (obj, Toggled) =>
            {
                if (Toggled)
                {
                    Item.DataConferma = DateTime.Now;
                }
                else
                {
                    Item.DataConferma = DateTime.MinValue;
                }
            });
        }
コード例 #7
0
 public HealtCareItemViewModel(HealtCareItem item) => Item = item;
コード例 #8
0
        private async Task SincData()
        {
            var items = await repository.GetItems();

            foreach (HealtCareItem ricInLocale in items)
            {
                if (ricInLocale.Conferma)
                {
                    if (DataStore.AddRichiestaAsync(new Richiesta()
                    {
                        Id = 0,
                        IdRichiedente = ricInLocale.Richiedente,
                        IdTipologia = ricInLocale.Tipologia,
                        NumeroFattura = ricInLocale.NumeroFattura,
                        ImportoFattura = ricInLocale.ImportoFattura,
                        ImportoRimborsatoDaTerzi = ricInLocale.ImportoRimborsatoDaTerzi,
                        ImportoACarico = ricInLocale.ImportoACarico,
                        ImportoDaRimborsare = ricInLocale.ImportoDaRimborsare,
                        Note = ricInLocale.Note,
                        DataRichiesta = ricInLocale.DataRichiesta,
                        DataFattura = ricInLocale.DataFattura,
                        DataConferma = ricInLocale.DataConferma,
                        DataCancellazione = DateTime.MinValue
                    }))
                    {
                        await repository.RemoveItem(ricInLocale);
                    }
                }
                else
                {
                    if (ricInLocale.Trasmessa)
                    {
                        await repository.RemoveItem(ricInLocale);
                    }
                }
            }
            HealtCareItem           newRicInLocale = null;
            IEnumerable <Richiesta> allRicInRemoto = await DataStore.GetRichiesteAsync();

            foreach (Richiesta ricInRemoto in allRicInRemoto)
            {
                newRicInLocale = new HealtCareItem()
                {
                    Id                       = 0,
                    Richiedente              = ricInRemoto.IdRichiedente,
                    Tipologia                = ricInRemoto.IdTipologia,
                    NumeroFattura            = ricInRemoto.NumeroFattura,
                    ImportoFattura           = ricInRemoto.ImportoFattura,
                    ImportoRimborsatoDaTerzi = ricInRemoto.ImportoRimborsatoDaTerzi,
                    ImportoACarico           = ricInRemoto.ImportoACarico,
                    ImportoDaRimborsare      = ricInRemoto.ImportoDaRimborsare,
                    Note                     = ricInRemoto.Note,
                    DataRichiesta            = ricInRemoto.DataRichiesta,
                    DataFattura              = ricInRemoto.DataFattura,
                    DataConferma             = ricInRemoto.DataConferma,
                    DataTrasmissione         = DateTime.Now,
                    Conferma                 = false,
                    Trasmessa                = true
                };

                await repository.AddItem(newRicInLocale);
            }
        }