/*CUANDO CREO UN GRUPO, TENGO QUE INSERTAR EN LA TABLA estado_de_preferencias el id_grupo y * cantidad_usuarios_por_grupo(contar la cantidad de usuarios que agrego) */ public CrearGrupoResponseApi CrearGrupo(GruposDTO grupo) { var fechaString = DateTime.Today.ToString(); //Guardo dentro de fechaSinHora la fec1ha con formato Dia-Mes-Año var fechaSinHora = fechaString.Split(' ').FirstOrDefault().Replace("/", "-"); try { Grupos grupos = new Grupos() { Nombre = grupo.NombreDelGrupo, Imagen = grupo.Imagen, FechaCreacion = fechaSinHora }; context.Grupos.Add(grupos); var usuarios = grupo.usuarios.Select(x => new GruposUsuarios() { IdUsuarios = x.IdUsuario, IdGrupo = grupos.IdGrupo, }); context.GruposUsuarios.AddRange(usuarios); var cantidadDeUsuarios = grupo.usuarios.Count(); EstadoDePreferencias estadoDePreferencias = new EstadoDePreferencias { CantidadUsuariosPorGrupo = cantidadDeUsuarios, IdGrupo = grupos.IdGrupo, ContadorPreferenciasElegidas = 0, ContadorDeVotos = 0 }; context.Add(estadoDePreferencias); context.SaveChanges(); return(new CrearGrupoResponseApi(true, "Se guardo el grupo exitosamente")); } catch (Exception ex) { return(new CrearGrupoResponseApi(false, "Fallo al guardar los datos del grupo")); } }
public PostResult <VotacionDTO> GuardarVotacion(VotacionDTO votacion) { try { votacion.FechaDeRespuesta = DateTime.Today; var votoDelUsuario = new Votaciones { IdGrupo = votacion.IdGrupo, IdEstablecimiento = votacion.IdEstablecimiento, FechaDeRespuesta = votacion.FechaDeRespuesta }; var estadoDeLosVotos = context.EstadoDePreferencias.Where(x => x.IdGrupo == votacion.IdGrupo) .FirstOrDefault(); var actualizarContadorDeVotos = new EstadoDePreferencias { ContadorDeVotos = ++estadoDeLosVotos.ContadorDeVotos }; context.Votaciones.Add(votoDelUsuario); estadoDeLosVotos.ContadorDeVotos = actualizarContadorDeVotos.ContadorDeVotos; context.SaveChanges(); var responseVotacion = new PostResult <VotacionDTO> { ObjectResult = votacion, }; return(responseVotacion); } catch (Exception ex) { var responseVotacion = new PostResult <VotacionDTO> { MensajePersonalizado = ex.Message, }; return(responseVotacion); } }