/// <summary> /// /// </summary> /// <param name="pista"></param> /// <returns></returns> public async Task <PistaViewModel> UpdatePistaAsync(PistaViewModel pista) { try { _repository.ModifyEntity(_mapper.Map <PistaViewModel, Pista>(pista)); await _repository.SaveAllAsync(); } catch (DbUpdateConcurrencyException e) { if (!await PistaExistsAsync(pista.Id)) { _logger.LogError($"Failed to update Pista {pista.Id}. Not found: {e}"); return(null); } else { _logger.LogError($"Failed to update Pista {pista.Id}. Unknown Problem: {e}"); throw new Exception("Unknown problem with the database", e); } } catch (Exception ex) { _logger.LogError($"Failed to Update Pista: {ex}"); return(null); } return(pista); }
public async Task <ActionResult <PistaViewModel> > PostPista(PistaViewModel pista) { if (pista == null) { return(BadRequest()); } var id = await _pistaService.Add(pista); return(Created($"api/Pistas/{id}", pista)); }
/// <summary> /// /// </summary> /// <param name="pista"></param> /// <returns></returns> public async Task <PistaViewModel> CreatePistaAsync(PistaViewModel pista) { try { Pista p = _mapper.Map <PistaViewModel, Pista>(pista); _repository.AddEntity(p); await _repository.SaveAllAsync(); pista.Id = p.Id; return(pista); } catch (Exception ex) { _logger.LogError($"Failed to Create Pista: {ex}"); return(null); } }
public async Task <ActionResult <PistaViewModel> > PostPista([FromBody] PistaViewModel pista) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { await _serviceCms.CreatePistaAsync(pista); } catch (Exception ex) { _logger.LogError($"Failed to create Pista: {ex}"); return(BadRequest("Failed Create Pista")); } return(CreatedAtAction("GetPista", new { id = pista.Id }, pista)); }
public async Task <IActionResult> PutPista(int id, [FromBody] PistaViewModel pista) { if (pista == null || id != pista.Id) { return(BadRequest()); } int val = await _pistaService.Update(pista); if (val == 0) { return(StatusCode(304)); } else if (val == -1) { return(StatusCode(412, "DbUpdateConcurrencyException")); } else { return(Accepted(pista)); } }
public async Task <ActionResult <PistaViewModel> > PutPista([FromRoute] int id, [FromBody] PistaViewModel pista) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != pista.Id) { return(BadRequest("Id from route is different from entity")); } try { pista = await _serviceCms.UpdatePistaAsync(pista); if (pista == null) { return(NotFound($"Pista {id} Not found")); } } catch (Exception ex) { _logger.LogError($"Failed to Update Pista: {ex}"); return(BadRequest($"Failed to update pista {pista.Id}")); } return(NoContent()); }
private IEnumerable <PistasDisponiblesViewModel> ObtenerHorariosDisponiblesPista(DateTime fecha, PistaViewModel pista, IEnumerable <ReservaViewModel> reservas) { var listaPistasDisponibles = new List <PistasDisponiblesViewModel>(); for (int i = Constants.HoraInicio.Hours; i <= Constants.HoraFin.Hours; i++) { var r = reservas.SingleOrDefault(p => p.FechaReserva.Hour == i); if (r == null) { listaPistasDisponibles.Add(new PistasDisponiblesViewModel( pista.Id, pista.Nombre, new DateTime(fecha.Year, fecha.Month, fecha.Day, i, 0, 0) )); } } return(listaPistasDisponibles); }