Esempio n. 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();
            }
        }
Esempio n. 2
0
        public static DataTable RecuperarTodosPremios()
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                DataTable tablaPremios = new DataTable();
                tablaPremios.Columns.Add("codigoPremio");
                tablaPremios.Columns.Add("descripcion");
                tablaPremios.Columns.Add("probabilidad");

                List <Premio> listaPremios = CatalogoPremio.RecuperarTodos(nhSesion);

                (from s in listaPremios select s).Aggregate(tablaPremios, (dt, r) => { dt.Rows.Add(r.Codigo, r.Descripcion, r.Probabilidad); return(dt); });
                return(tablaPremios);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
Esempio n. 3
0
        public static void InsertarActualizarPremio(int codigoPremio, string descripcion, int probabilidad)
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                Premio premio;

                if (codigoPremio == 0)
                {
                    premio = new Premio();
                }
                else
                {
                    premio = CatalogoPremio.RecuperarPorCodigo(codigoPremio, nhSesion);
                }

                premio.Descripcion  = descripcion;
                premio.Probabilidad = probabilidad;

                CatalogoPremio.InsertarActualizar(premio, nhSesion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            CatalogoPremio catalogoPremio = db.CatalogoPremios.Find(id);

            db.CatalogoPremios.Remove(catalogoPremio);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "IdCatalogoPremio,Descripcion,FechaCarga,FechaBaja")] CatalogoPremio catalogoPremio)
 {
     if (ModelState.IsValid)
     {
         db.Entry(catalogoPremio).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(catalogoPremio));
 }
        public ActionResult Create([Bind(Include = "IdCatalogoPremio,Descripcion,FechaCarga,FechaBaja")] CatalogoPremio catalogoPremio)
        {
            if (ModelState.IsValid)
            {
                db.CatalogoPremios.Add(catalogoPremio);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(catalogoPremio));
        }
        // GET: CatalogoPremios/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CatalogoPremio catalogoPremio = db.CatalogoPremios.Find(id);

            if (catalogoPremio == null)
            {
                return(HttpNotFound());
            }
            return(View(catalogoPremio));
        }
Esempio n. 8
0
        public static int RecuperarCodigoPremio()
        {
            ISession nhSesion = ManejoNHibernate.IniciarSesion();

            try
            {
                Random        rnd                   = new Random();
                int           sorteo                = rnd.Next(1, 100);
                int           codigoPremio          = 0;
                int           probabilidadAnterior  = 0;
                int           probabilidadPosterior = 0;
                List <Premio> listaPremios          = CatalogoPremio.RecuperarTodos(nhSesion);

                foreach (Premio premio in listaPremios)
                {
                    probabilidadPosterior = probabilidadPosterior + premio.Probabilidad;

                    if (sorteo > probabilidadAnterior && sorteo <= probabilidadPosterior)
                    {
                        codigoPremio = premio.Codigo;
                        break;
                    }

                    probabilidadAnterior = probabilidadAnterior + premio.Probabilidad;
                }

                return(codigoPremio);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                nhSesion.Close();
                nhSesion.Dispose();
            }
        }