private async void Create_Clicked(object sender, EventArgs e)
        {
            RegaloInserisciActivityIndicator.IsVisible = true;

            EventoClient eventoClient = new EventoClient(await ApiHelper.GetApiClient());

            RegaloDtoInput regaloDtoInput = new RegaloDtoInput()
            {
                Cancellato          = viewModel.Item.Cancellato,
                Descrizione         = viewModel.Item.Descrizione,
                IdEvento            = viewModel.Item.IdEvento,
                ImmagineRegalo      = viewModel.Item.ImmagineRegalo,
                ImportoCollezionato = viewModel.Item.ImportoCollezionato,
                Prezzo = viewModel.Item.Prezzo,
                Titolo = viewModel.Item.Titolo
            };

            //Creo il regalo
            RegaloDtoOutput regaloInserito = await eventoClient.InserisciRegaloAsync(regaloDtoInput);

            MessagingCenter.Send(this, "RefreshListaRegaliPersonaliInserisci", "OK");

            RegaloInserisciActivityIndicator.IsVisible = false;

            await Navigation.PopModalAsync();
        }
        async void ToolbarItem_Clicked(System.Object sender, System.EventArgs e)
        {
            if (!string.IsNullOrEmpty(entTitoloRegalo.Text) &&
                !string.IsNullOrEmpty(entDescrizioneRegalo.Text) &&
                !string.IsNullOrEmpty(entPrezzoRegalo.Text))
            {
                RegaloInserisciActivityIndicator.IsVisible = true;

                EventoClient eventoClient = new EventoClient(await ApiHelper.GetApiClient());

                RegaloDtoInput regaloDtoInput = new RegaloDtoInput()
                {
                    Cancellato          = viewModel.Item.Cancellato,
                    Descrizione         = entDescrizioneRegalo.Text,
                    IdEvento            = viewModel.Item.IdEvento,
                    ImmagineRegalo      = viewModel.Item.ImmagineRegalo,
                    ImportoCollezionato = viewModel.Item.ImportoCollezionato,
                    Prezzo = int.Parse(entPrezzoRegalo.Text),
                    Titolo = entTitoloRegalo.Text
                };

                //Creo il regalo
                RegaloDtoOutput regaloInserito = await eventoClient.InserisciRegaloAsync(regaloDtoInput);

                MessagingCenter.Send(this, "RefreshListaRegaliPersonaliInserisci", "OK");

                RegaloInserisciActivityIndicator.IsVisible = false;

                await Navigation.PopAsync();
            }
            else
            {
                await DisplayAlert("Attenzione", "è necessario compilare tutti i campi.", "OK");
            }
        }
        private async void Update_Clicked(object sender, EventArgs e)
        {
            RegaloModificaActivityIndicator.IsVisible = true;

            RegaloDtoInput regaloDtoInput = new RegaloDtoInput()
            {
                Cancellato          = viewModel.Item.Cancellato,
                Descrizione         = viewModel.Item.Descrizione,
                IdEvento            = viewModel.Item.IdEvento,
                ImmagineRegalo      = viewModel.Item.ImmagineRegalo,
                ImportoCollezionato = viewModel.Item.ImportoCollezionato,
                Prezzo = viewModel.Item.Prezzo,
                Titolo = viewModel.Item.Titolo
            };

            Guid id = new Guid(viewModel.Item.Id);
            //Faccio update del regalo
            //var regaloAggiornato =

            EventoClient eventoClient = new EventoClient(await ApiHelper.GetApiClient());
            await eventoClient.UpdateRegaloAsync(id, regaloDtoInput);

            MessagingCenter.Send(this, "RefreshListaRegaliPersonaliModifica", "OK");

            RegaloModificaActivityIndicator.IsVisible = false;

            await DisplayAlert(null,
                               Helpers.TranslateExtension.ResMgr.Value.GetString("RegaloModifica.SalvataggioOk", CurrentCulture.Ci),
                               Helpers.TranslateExtension.ResMgr.Value.GetString("RegaloModifica.Ok", CurrentCulture.Ci));

            //TODO APPENA RIPUBBLICO API this.viewModel = new EventoDetailViewModel(eventoInserito);
        }
예제 #4
0
        public async Task <IHttpActionResult> InserisciRegalo(RegaloDtoInput Dto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            //Regalo regalo = new Regalo();
            //regalo = RegaloMapper.RegaloDtoInputToRegalo(Dto, regalo);
            Regalo regalo = new Regalo()
            {
                Id                  = new Guid(),
                Cancellato          = Dto.Cancellato,
                Descrizione         = Dto.Descrizione,
                IdEvento            = Dto.IdEvento,
                Prezzo              = Dto.Prezzo,
                Titolo              = Dto.Titolo,
                ImportoCollezionato = 0
            };


            if (Dto.ImmagineRegalo != null)
            {
                regalo.ImmagineRegalo = await createOrUpdateImmagineRegalo(Dto.ImmagineRegalo, null);
            }



            dbDataContext.Regalo.Add(regalo);

            try
            {
                dbDataContext.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (RegaloExists(regalo.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(RegaloMapper.RegaloToRegaloDto(regalo)));
        }
예제 #5
0
        public async Task <IHttpActionResult> UpdateRegalo([FromUri] Guid IdRegalo, [FromBody] RegaloDtoInput RegaloDto)
        {
            //Controllo che i parametri siano valorizzati
            if (RegaloDto == null || !ModelState.IsValid || (IdRegalo == null || IdRegalo == Guid.Empty))
            {
                return(BadRequest(ModelState));
            }

            //Cerco il regalo
            Regalo regalo = await dbDataContext.Regalo.Include(x => x.ImmagineRegalo).Where(x => x.Id == IdRegalo).FirstAsync();

            //Modifico il regalo

            regalo.Cancellato          = RegaloDto.Cancellato;
            regalo.Descrizione         = RegaloDto.Descrizione;
            regalo.ImportoCollezionato = RegaloDto.ImportoCollezionato;
            regalo.Prezzo = RegaloDto.Prezzo;
            regalo.Titolo = RegaloDto.Titolo;


            if (RegaloDto.ImmagineRegalo != null)
            {
                ImmagineRegalo immagineRegalo = new ImmagineRegalo()
                {
                    Id       = (regalo.IdImmagineRegalo.HasValue ? regalo.IdImmagineRegalo.Value : new Guid()),
                    Immagine = RegaloDto.ImmagineRegalo
                };

                regalo.ImmagineRegalo = immagineRegalo;
            }


            //regalo.ImmagineRegalo.Immagine = RegaloDto.ImmagineRegalo;
            //await createOrUpdateImmagineRegalo(RegaloDto.ImmagineRegalo, regalo.IdImmagineRegalo.ToString());

            //Regalo regalo = RegaloMapper.RegaloDtoToRegalo(dto);
            ////FIXME
            //regalo.ImmagineRegalo = null;
            //regalo.Evento = null;
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}

            //if (regalo.Id != null)
            //{
            //    ImmagineRegalo immRegalo = await createOrUpdateImmagineRegalo(dto.ImmagineRegalo, dto.IdImmagineRegalo);
            //    regalo.ImmagineRegalo = immRegalo;
            //    dbDataContext.Regalo.Attach(regalo);
            //    dbDataContext.Entry(regalo).State = EntityState.Modified;
            //}

            try
            {
                //Salvo le modifiche sul DB.
                dbDataContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EventoExists(regalo.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok(RegaloMapper.RegaloToRegaloDto(regalo)));
        }