Пример #1
0
        public static void InsertarParticipante(int codigoUsuario, int codigoSorteo, int codigoPremio)
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                Sorteo sorteo = CatalogoSorteo.RecuperarPorCodigo(codigoSorteo, nhSesion);

                Participante participante = new Participante();
                participante.FechaParticipacion = DateTime.Now;
                participante.Premio             = CatalogoPremio.RecuperarPorCodigo(codigoPremio, nhSesion);
                participante.Usuario            = CatalogoUsuario.RecuperarPorCodigo(codigoUsuario, nhSesion);

                sorteo.Participantes.Add(participante);

                CatalogoSorteo.InsertarActualizar(sorteo, nhSesion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #2
0
        public static DataTable RecuperarTodosSorteos()
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                DataTable tablaSorteos = new DataTable();
                tablaSorteos.Columns.Add("codigoSorteo");
                tablaSorteos.Columns.Add("fechaDesde");
                tablaSorteos.Columns.Add("fechaHasta");
                tablaSorteos.Columns.Add("descripcion");
                tablaSorteos.Columns.Add("cantidadTirosPorUsuario");
                tablaSorteos.Columns.Add("cantidadPremiosPorUsuario");
                tablaSorteos.Columns.Add("cantidadPremiosTotales");
                tablaSorteos.Columns.Add("cantidadParticipantes");
                tablaSorteos.Columns.Add("cantidadGanadores");

                List <Sorteo> listaSorteos = CatalogoSorteo.RecuperarTodos(nhSesion);

                (from s in listaSorteos.OrderBy(x => x.FechaDesde) select s).Aggregate(tablaSorteos, (dt, r) => { dt.Rows.Add(r.Codigo, r.FechaDesde.ToString("dd/MM/yyyy HH:mm:ss"), r.FechaHasta.ToString("dd/MM/yyyy HH:mm:ss"), r.Descripcion, r.CantidadTirosPorUsuario, r.CantidadPremiosPorUsuario, r.CantidadPremiosTotales, r.Participantes.Count, (from p in r.Participantes where p.Premio.Codigo != 4 select p).Count()); return(dt); });
                return(tablaSorteos);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #3
0
        public static string InsertarActualizarSorteo(int codigoSorteo, DateTime fechaDesde, DateTime fechaHasta, string descripcion, int cantidadTirosPorUsuario, int cantidadPremiosPorUsuario, int cantidadTotalPremios, bool enviarPush)
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                Sorteo sorteo;

                if (codigoSorteo == 0)
                {
                    sorteo = new Sorteo();
                }
                else
                {
                    sorteo = CatalogoSorteo.RecuperarPorCodigo(codigoSorteo, nhSesion);
                }

                sorteo.CantidadPremiosPorUsuario = cantidadPremiosPorUsuario;
                sorteo.CantidadTirosPorUsuario   = cantidadTirosPorUsuario;
                sorteo.CantidadPremiosTotales    = cantidadTotalPremios;
                sorteo.Descripcion = descripcion;
                sorteo.FechaDesde  = fechaDesde;
                sorteo.FechaHasta  = fechaHasta;

                CatalogoSorteo.InsertarActualizar(sorteo, nhSesion);

                if (codigoSorteo == 0 && enviarPush)
                {
                    Push pushAutomatica = CatalogoPush.RecuperarPor(x => x.IsAutomatica == true, nhSesion);

                    if (pushAutomatica == null)
                    {
                        return("PushAutomaticaInexistente");
                    }
                    else
                    {
                        PushNotification.Enviar(pushAutomatica.Descripcion);
                    }
                }

                return("ok");
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #4
0
        public static DataTable RecuperarParticipacionesDeUsuarioPorSorteo(int codigoSorteo, int codigoUsuario, bool isGanadores)
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                DataTable tablaParticipantes = new DataTable();
                tablaParticipantes.Columns.Add("codigoParticipante");
                tablaParticipantes.Columns.Add("fechaParticipacion");
                tablaParticipantes.Columns.Add("codigoUsuario");
                tablaParticipantes.Columns.Add("nombre");
                tablaParticipantes.Columns.Add("apellido");
                tablaParticipantes.Columns.Add("dni");
                tablaParticipantes.Columns.Add("telefono");
                tablaParticipantes.Columns.Add("mail");
                tablaParticipantes.Columns.Add("codigoSorteo");
                tablaParticipantes.Columns.Add("codigoPremio");
                tablaParticipantes.Columns.Add("descripcionPremio");

                Sorteo sorteo = CatalogoSorteo.RecuperarPorCodigo(codigoSorteo, nhSesion);
                List <Participante> listaParticipantes = new List <Participante>();

                if (isGanadores)
                {
                    listaParticipantes = (from p in sorteo.Participantes where p.Premio.Codigo != 4 && p.Usuario.Codigo == codigoUsuario select p).ToList();
                }
                else
                {
                    listaParticipantes = (from p in sorteo.Participantes where p.Premio.Codigo == 4 && p.Usuario.Codigo == codigoUsuario select p).ToList();
                }

                (from p in listaParticipantes select p).Aggregate(tablaParticipantes, (dt, r) =>
                {
                    dt.Rows.Add(r.Codigo, r.FechaParticipacion.ToString("dd/MM/yyyy HH:mm:ss"), r.Usuario.Codigo, r.Usuario.Nombre, r.Usuario.Apellido, r.Usuario.Dni, r.Usuario.Telefono,
                                r.Usuario.Mail, sorteo.Codigo, r.Premio.Codigo, r.Premio.Descripcion); return(dt);
                });

                return(tablaParticipantes);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #5
0
        public static void EliminarSorteo(int codigoSorteo)
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                Sorteo sorteo = CatalogoSorteo.RecuperarPorCodigo(codigoSorteo, nhSesion);
                CatalogoSorteo.Eliminar(sorteo, nhSesion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #6
0
        public static DataTable RecuperarParticipantesPorSorteo(int codigoSorteo)
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                DataTable tablaParticipantes = new DataTable();
                tablaParticipantes.Columns.Add("codigoParticipante");
                tablaParticipantes.Columns.Add("fechaParticipacion");
                tablaParticipantes.Columns.Add("codigoUsuario");
                tablaParticipantes.Columns.Add("dniUsuario");
                tablaParticipantes.Columns.Add("apellidoUsuario");
                tablaParticipantes.Columns.Add("nombreUsuario");
                tablaParticipantes.Columns.Add("telefonoUsuario");
                tablaParticipantes.Columns.Add("mailUsuario");
                tablaParticipantes.Columns.Add("codigoPremio");
                tablaParticipantes.Columns.Add("descripcionPremio");

                Sorteo sorteo = CatalogoSorteo.RecuperarPorCodigo(codigoSorteo, nhSesion);

                (from p in sorteo.Participantes.OrderBy(x => x.Usuario.Apellido).ThenBy(x => x.Usuario.Nombre) select p).Aggregate(tablaParticipantes, (dt, r) =>
                {
                    dt.Rows.Add(r.Codigo, r.FechaParticipacion.ToString("dd/MM/yyyy HH:mm:ss"), r.Usuario.Codigo, r.Usuario.Dni, r.Usuario.Apellido, r.Usuario.Nombre, r.Usuario.Telefono,
                                r.Usuario.Mail, r.Premio != null ? r.Premio.Codigo : 0, r.Premio != null ? r.Premio.Descripcion : string.Empty); return(dt);
                });

                return(tablaParticipantes);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #7
0
        public static DataTable RecuperarSorteoActual()
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                DataTable tablaSorteo = new DataTable();
                tablaSorteo.Columns.Add("codigoSorteo");
                tablaSorteo.Columns.Add("fechaDesde");
                tablaSorteo.Columns.Add("fechaHasta");
                tablaSorteo.Columns.Add("descripcion");
                tablaSorteo.Columns.Add("cantidadTirosPorUsuario");
                tablaSorteo.Columns.Add("cantidadPremiosPorUsuario");
                tablaSorteo.Columns.Add("cantidadPremiosTotales");

                Sorteo sorteo = CatalogoSorteo.RecuperarPor(x => x.FechaDesde <= DateTime.Now && x.FechaHasta >= DateTime.Now, nhSesion);

                if (sorteo != null)
                {
                    tablaSorteo.Rows.Add(new object[] { sorteo.Codigo, sorteo.FechaDesde.ToString("dd/MM/yyyy HH:mm:ss"), sorteo.FechaHasta.ToString("dd/MM/yyyy HH:mm:ss"), sorteo.Descripcion, sorteo.CantidadTirosPorUsuario, sorteo.CantidadPremiosPorUsuario, sorteo.CantidadPremiosTotales });
                }
                else
                {
                    tablaSorteo.Rows.Add(new object[] { 0, DateTime.MinValue, DateTime.MinValue, string.Empty, 0, 0, 0 });
                }

                return(tablaSorteo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Пример #8
0
        public virtual Sorteo RecuperarSorteo(ISession nhSesion)
        {
            Sorteo sorteo = CatalogoSorteo.RecuperarPorParticipante(Codigo, nhSesion);

            return(sorteo);
        }