public IHttpActionResult PostAppuntamento(DtoAppTratt input) { //TODO: Controllo se arrivano valori non validi var appuntamento = new Appuntamento(); if (input.Appuntamentoid != 0) { var app = _context.Appuntamenti.Find(input.Appuntamentoid); if (app != null) { appuntamento.Id = app.Id; } else { throw new Exception("E' stato ricevuto un Id appuntamento ma non e' stato trovato sul db"); } } appuntamento.Cliente = _context.Clienti.Find(input.Clienteid); //TODO - In Caso di ripetizione non ne aggiunge un altro appuntamento.Trattamenti = _context.Trattamenti.Where(x => input.TrattamentiIds.Any(y => y == x.Id)).ToList(); appuntamento.DataInizio = DateTime.ParseExact(input.Datainizio, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); appuntamento.DataFine = DateTime.ParseExact(input.Datafine, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); _context.Appuntamenti.AddOrUpdate(appuntamento); _context.SaveChanges(); return(Ok()); }
public IHttpActionResult PutAppuntamento(int id, Appuntamento appuntamento) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != appuntamento.Id) { return(BadRequest()); } _context.Entry(appuntamento).State = EntityState.Modified; try { _context.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!AppuntamentoExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetAppuntamento(int id) { Appuntamento appuntamento = _context.Appuntamenti.Find(id); if (appuntamento == null) { return(NotFound()); } return(Ok(appuntamento)); }
public IHttpActionResult DeleteAppuntamento(int id) { Appuntamento appuntamento = _context.Appuntamenti.Find(id); if (appuntamento == null) { return(NotFound()); } _context.Appuntamenti.Remove(appuntamento); _context.SaveChanges(); return(Ok(appuntamento)); }