public async Task <SocioDetailViewModel> CreateSocioAsync(SocioCreateInputModel inputModel)
        {
            var socio = new Socio();

            socio.ChangeTessera(inputModel.Tessera);
            socio.ChangeNominativo(inputModel.Nominativo);
            socio.ChangeIndirizzo(inputModel.Indirizzo);
            socio.ChangeCap(inputModel.Cap);
            socio.ChangeComune(inputModel.Comune);
            socio.ChangeProvincia(inputModel.Provincia);
            socio.ChangeLuogoNascita(inputModel.LuogoNascita);
            socio.ChangeDataNascita(inputModel.DataNascita);
            socio.ChangeCodiceFiscale(inputModel.CodiceFiscale);
            socio.ChangeTelefono(inputModel.Telefono);
            socio.ChangeEmail(inputModel.Email);
            socio.ChangeDataTesseramento(inputModel.DataTesseramento);
            socio.ChangeTrattamentoDati(inputModel.TrattamentoDati);
            socio.ChangeProfessione(inputModel.Professione);
            socio.ChangeZona(inputModel.Zona);

            dbContext.Add(socio);
            await dbContext.SaveChangesAsync();

            return(socio.ToSocioDetailViewModel());
        }
예제 #2
0
        public async Task <IActionResult> Create(SocioCreateInputModel inputModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    SocioDetailViewModel socio = await soci.CreateSocioAsync(inputModel);

                    TempData["ConfirmationMessage"] = "Il socio è stato creato con successo";
                    return(RedirectToAction(nameof(Detail), new { id = socio.Id }));
                }
                catch (SocioUnavailableException)
                {
                    ModelState.AddModelError(nameof(SocioDetailViewModel.Nominativo), "Il nominativo del socio esiste già");
                }
            }

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