/*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"));
            }
        }
Example #2
0
        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);
            }
        }