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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
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(); } }
public virtual Sorteo RecuperarSorteo(ISession nhSesion) { Sorteo sorteo = CatalogoSorteo.RecuperarPorParticipante(Codigo, nhSesion); return(sorteo); }