public HttpResponseMessage Post(Evento obj) { try { _participanteRep.Add(obj); return(Request.CreateResponse(HttpStatusCode.OK, new { message = "Cadastrado com sucesso", success = true })); } catch (System.Exception e) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, new { message = e.Message, success = false })); } }
public async Task Add(Competicao competicao, Evento evento) { var db = new EventoRepository(Unit); var criador = CriadorEvento.Get(competicao.EventoTipo); using (var tr = Unit.BeginTransaction()) { await criador.Processar(Unit, competicao, evento); await db.Add(evento); tr.Commit(); } }
public async Task <Evento> Adicionar(Evento entity) { var sala = salaRepository.Find(entity.IdSala); if (sala != null) { var eventos = repository.Find(ev => (entity.DataInicio.Date >= ev.DataInicio.Date && entity.DataInicio.Date <= ev.DataFim.Date) || // Evento novo inicia durante outro evento (entity.DataFim.Date >= ev.DataInicio.Date && entity.DataFim.Date <= ev.DataFim.Date) || // Evento novo termina durante outro evento (entity.DataInicio.Date <ev.DataInicio.Date && entity.DataFim.Date> ev.DataFim.Date)).ToList(); // Evento novo começa antes e termina depois de um evento if (!eventos.Any()) { return(await repository.Add(entity)); } else { throw new Exception("A duração de um evento não pode sobrepor outro"); } } else { throw new Exception("Sala não encontrada"); } }