示例#1
0
        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));
            }
        }
示例#2
0
        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());
        }