public ActionResult Create(Gravita gravita)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://localhost:44357/api/");
                var responseTask = client.PostAsJsonAsync("gravita", gravita);
                responseTask.Wait();

                var result = responseTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    var newGravitaTask = result.Content.ReadAsAsync <Gravita>();
                    newGravitaTask.Wait();

                    var newGravita = newGravitaTask.Result;
                    TempData["SuccessMessage"] = $"La gravita {newGravita.NomeGravita} è stata creata con successo. ";

                    return(RedirectToAction("Index", "Gravita"));
                }

                if ((int)result.StatusCode == 422)
                {
                    ModelState.AddModelError("", $"Gravita {gravita.NomeGravita} esiste già!");
                }

                else
                {
                    ModelState.AddModelError("", "Sono sorti alcuni problemi. Gravita non è stata creata!");
                }
            }
            return(View());
        }
Esempio n. 2
0
        public IActionResult CreateGravita([FromBody] Gravita gravitaToCreate)
        {
            if (gravitaToCreate == null)
            {
                return(BadRequest(ModelState));
            }

            var gravita = _gravitaRepository.GetGravitas().Where(g => g.NomeGravita.Trim().ToUpper() == gravitaToCreate.NomeGravita.Trim().ToUpper()).FirstOrDefault();

            if (gravita != null)
            {
                ModelState.AddModelError("", $"Gravita {gravitaToCreate.NomeGravita} esiste già");
                return(StatusCode(422, ModelState));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_gravitaRepository.CreateGravita(gravitaToCreate))
            {
                ModelState.AddModelError("", $"Qualcosa è andato storto durante il salvataggio {gravitaToCreate.NomeGravita}");
                return(StatusCode(500, ModelState));
            }

            return(CreatedAtRoute("GetGravita", new { gravitaId = gravitaToCreate.GravitaId }, gravitaToCreate));
        }
Esempio n. 3
0
        public IActionResult UpdateGravita(int gravitaId, [FromBody] Gravita gravitaToUpdate)
        {
            if (gravitaToUpdate == null)
            {
                return(BadRequest(ModelState));
            }

            if (gravitaId != gravitaToUpdate.GravitaId)
            {
                return(BadRequest(ModelState));
            }

            if (!_gravitaRepository.GravitaExists(gravitaId))
            {
                return(NotFound());
            }

            if (_gravitaRepository.IsDuplicateGravita(gravitaId, gravitaToUpdate.NomeGravita))
            {
                ModelState.AddModelError("", $"Gravita {gravitaToUpdate.NomeGravita} esiste già");
                return(StatusCode(422, ModelState));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!_gravitaRepository.UpdateGravita(gravitaToUpdate))
            {
                ModelState.AddModelError("", $"Si è verificato un errore durante l'aggiornamento {gravitaToUpdate.NomeGravita}");
                return(StatusCode(500, ModelState));
            }

            return(NoContent());
        }
 public bool UpdateGravita(Gravita gravita)
 {
     _gravitaContext.Update(gravita);
     return(Save());
 }
 public bool DeleteGravita(Gravita gravita)
 {
     _gravitaContext.Remove(gravita);
     return(Save());
 }
 public bool CreateGravita(Gravita gravita)
 {
     _gravitaContext.Add(gravita);
     return(Save());
 }