public async Task <HttpResponseMessage> PutImmobile(ImmobileDTO immobile) { try { if (string.IsNullOrEmpty(immobile.Indirizzo) || string.IsNullOrEmpty(immobile.Comune)) { throw new Exception("Immettere i dati necessari"); } var utente = await _userManager.FindByNameAsync(User.Identity.Name); Immobile nuovoImmobile = Mapper.Map <ImmobileDTO, Immobile>(immobile); nuovoImmobile.UtenteAppartenenza = utente; var valutazione = await RichiediValutazione(nuovoImmobile.NumeroDiPiani, nuovoImmobile.Proprieta, nuovoImmobile.AnnoDiCostruzione, nuovoImmobile.Costruzione, nuovoImmobile.PercentualeUtilizzo, nuovoImmobile.Uso, nuovoImmobile.Posizione, nuovoImmobile.CateneCordoli, nuovoImmobile.Comune); _db.Immobili.Add( nuovoImmobile ); nuovoImmobile.TipoAgibilita = valutazione; await _db.SaveChangesAsync(); return(new HttpResponseMessage(HttpStatusCode.OK)); } catch (Exception ex) { ControllerContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(new HttpResponseMessage(HttpStatusCode.InternalServerError)); } }
public async Task <ActionResult> EditImmobile(ImmobileDTO immobile) { var utente = await _userManager.FindByNameAsync(User.Identity.Name); Immobile immobileCoinvolto = _db.Immobili.Single(i => i.Id == immobile.Id); if (immobileCoinvolto.UtenteAppartenenza.Id != utente.Id) { ControllerContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(InternalServerError(new Exception("Immobile non valido"))); } Mapper.Map(immobile, immobileCoinvolto); await _db.SaveChangesAsync(); return(Ok()); }