public async Task ParticiparGrupoAsync(GrupoOferta grupoOferta, ParticipanteGrupo participanteGrupo) { participanteGrupo.IdGrupoOferta = grupoOferta.Id; participanteGrupo.NomeGrupo = grupoOferta.Name; await participantesRepository.CreateEntityAsync(participanteGrupo); await participantesRepository.SyncDataBaseAsync(); }
private void AdicionarParticipante(ParticipanteGrupo participante) { if (Members.FirstOrDefault(x => participante.IdUser == x.IdUser) == null) { participante.NomeGrupo = Name; Members.Add(participante); } PersistGrupoOfertaCommand.ChangeCanExecute(); }
private async void ExecuteRemoverParticipanteSelecionadoAsync() { if (Members.Count > 1) { Members.Remove(participanteGrupoOferta); await grupoOfertaService.ExcluirParticipanteGrupoOfertaAsync(participanteGrupoOferta); participanteGrupoOferta = null; AtualizarStatus(); } }
internal async Task ExcluirParticipanteGrupoOfertaAsync(ParticipanteGrupo membro) { membro.Delete = true; await participantesRepository.UpdateEntityAsync(membro); //notify ser and delete on server await participantesRepository.SyncDataBaseAsync(); await participantesRepository.DeleteEntityAsync(membro); await participantesRepository.SyncDataBaseAsync(); }
public IHttpActionResult IniciarEvento(Evento ev) { // Seleciona evento e altera status Evento evento = db.Eventos.Find(ev.codEvento); if (evento == null) { return(Content(HttpStatusCode.NotFound, new { message = "Evento não encontrado" })); } if (evento.codStatus == "E" && evento.codStatus == "F") { return(Content(HttpStatusCode.BadRequest, new { message = "Evento já em execução ou finalizado" })); } evento.codStatus = "E"; evento.data = DateTime.Now; db.Entry(evento).State = EntityState.Modified; // Sorteia ordem IEnumerable <Grupo> grupos = db.Grupos .Where(g => g.codEvento == evento.codEvento) .OrderBy(x => Guid.NewGuid()); if (grupos.Count() < 2) { return(Content(HttpStatusCode.BadRequest, new { message = "Evento não tem grupos suficientes para iniciar" })); } List <MasterEventosOrdem> retorno = new List <MasterEventosOrdem>(); Byte i = 0; foreach (Grupo grupo in grupos) { ParticipanteGrupo pg = db.ParticipanteGrupos.Where(p => p.codGrupo == grupo.codGrupo).FirstOrDefault(); if (pg == null) { return(Content(HttpStatusCode.BadRequest, new { message = "Grupo não contém participantes" })); } MasterEventosOrdem ordem = new MasterEventosOrdem(); ordem.codGrupo = grupo.codGrupo; ordem.ordem = i; retorno.Add(ordem); db.MasterEventosOrdem.Add(ordem); i++; } db.SaveChanges(); return(Ok(retorno)); }
private async void ExecuteStoreParticipanteAsync(ParticipanteGrupo participante) { if (CachedList.Count > 0) {//está pesquisando AdicionarParticipante(participante); await grupoOfertaService.ParticiparGrupoAsync(editGrupoOferta, Members.Last()); CachedList.Add(participante); SearchText = string.Empty; //ExecuteSearchUser(""); AtualizarStatus(); return; } this.participanteGrupoOferta = participante; RemoverParticipanteSelecionadoCommand.ChangeCanExecute(); }