示例#1
0
        public ClienteDetailPage()
        {
            InitializeComponent();
            IAppApiServices appApiServices = DependencyService.Get <IAppApiServices>();

            BindingContext = new ClienteDetailViewModel(appApiServices);
        }
示例#2
0
        public async Task <IActionResult> Detail(int id)
        {
            ViewData["Title"] = applicationPersister.GetTitoloApp();
            ClienteDetailViewModel viewModel = await clienti.GetClienteAsync(id);

            return(View(viewModel));
        }
示例#3
0
        public async Task <IActionResult> Edit(ClienteEditInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                ClienteDetailViewModel cliente = await clienti.EditClienteAsync(inputModel);

                TempData["ConfirmationMessage"] = "I dati sono stati aggiornati con successo";
                return(RedirectToAction(nameof(Detail), new { id = inputModel.Id }));
            }

            ViewData["Title"] = applicationPersister.GetTitoloApp();
            return(View(inputModel));
        }
        public async Task <ClienteDetailViewModel> GetClienteAsync(int id)
        {
            IQueryable <ClienteDetailViewModel> queryLinq = dbContext.Clienti
                                                            .AsNoTracking()
                                                            .Where(cliente => cliente.Id == id)
                                                            .Select(cliente => cliente.ToClienteDetailViewModel());

            ClienteDetailViewModel viewModel = await queryLinq.FirstOrDefaultAsync();

            if (viewModel == null)
            {
                logger.LogWarning("Cliente {id} non trovato", id);
                throw new ClienteNotFoundException(id);
            }

            return(viewModel);
        }
示例#5
0
        public async Task <IActionResult> Create(ClienteCreateInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ClienteDetailViewModel cliente = await clienti.CreateClienteAsync(inputModel);

                    TempData["ConfirmationMessage"] = "Il cliente è stato creato con successo";
                    return(RedirectToAction(nameof(Index)));
                }
                catch (RagioneSocialeUnavailableException)
                {
                    ModelState.AddModelError(nameof(ClienteDetailViewModel.RagioneSociale), "La ragione sociale esiste già");
                }
            }

            ViewData["Title"] = applicationPersister.GetTitoloApp();
            return(View(inputModel));
        }