コード例 #1
0
        public void ValidarItem(int p_oid, int p_puntuacion)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CEN.ReciclaUA_Item_validarItem) ENABLED START*/
            ItemCAD cad  = new ItemCAD();
            ItemEN  item = cad.BuscarPorId(p_oid);



            if (item.EsValido != Enumerated.ReciclaUA.EstadoEnum.enProceso)
            {
                throw new ModelException("No se puede validar un item que no est? en proceso de validaci?n");
            }

            item.EsValido   = Enumerated.ReciclaUA.EstadoEnum.verificado;
            item.Puntuacion = p_puntuacion;

            cad.Modificar(item);

            ItemCP cp = new ItemCP();

            cp.CrearAccionItem(p_oid);

            //throw new NotImplementedException ("Method ValidarItem() not yet implemented.");

            /*PROTECTED REGION END*/
        }
コード例 #2
0
        public void CrearAccionItem(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Item_crearAccionItem) ENABLED START*/

            IItemCAD       itemCAD       = null;
            ItemCEN        itemCEN       = null;
            AccionWebCEN   accionWebCEN  = null;
            ITipoAccionCAD tipoAccionCAD = null;
            TipoAccionCEN  tipoAccionCEN = null;
            TipoAccionEN   tipoAccion    = null;
            IUsuarioWebCAD usuarioWebCAD = null;
            UsuarioWebCEN  usuarioWebCEN = null;
            ItemEN         item          = null;

            try
            {
                SessionInitializeTransaction();
                itemCAD       = new ItemCAD(session);
                itemCEN       = new ItemCEN(itemCAD);
                tipoAccionCAD = new TipoAccionCAD(session);
                tipoAccionCEN = new TipoAccionCEN(tipoAccionCAD);
                usuarioWebCAD = new UsuarioWebCAD(session);
                usuarioWebCEN = new UsuarioWebCEN(usuarioWebCAD);
                accionWebCEN  = new AccionWebCEN();

                item = itemCEN.BuscarPorId(p_oid);

                if (item.Usuario != null && usuarioWebCEN.BuscarPorId(item.Usuario.Id) != null)
                {
                    tipoAccion = tipoAccionCEN.BuscarTodos(0, -1).Where(t => t.Nombre.Equals("Item")).FirstOrDefault();

                    if (tipoAccion == null)
                    {
                        var id = tipoAccionCEN.Crear(10, "Item");
                        tipoAccion = tipoAccionCEN.BuscarPorId(id);
                    }
                    accionWebCEN.Crear(item.Usuario.Id, tipoAccion.Id);
                }
                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }


            /*PROTECTED REGION END*/
        }
コード例 #3
0
        public int CrearItem()
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Item_crearItem) ENABLED START*/

            IItemCAD itemCAD = null;
            ItemCEN  itemCEN = null;

            int result = -1;


            try
            {
                SessionInitializeTransaction();
                itemCAD = new ItemCAD(session);
                itemCEN = new  ItemCEN(itemCAD);



                // Write here your custom transaction ...

                throw new NotImplementedException("Method CrearItem() not yet implemented.");



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(result);


            /*PROTECTED REGION END*/
        }
コード例 #4
0
        public void DescartarItem(int p_oid)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CEN.ReciclaUA_Item_descartarItem) ENABLED START*/

            // Write here your custom code...

            ItemCAD cad  = new ItemCAD();
            ItemEN  item = cad.BuscarPorId(p_oid);


            if (item.EsValido != Enumerated.ReciclaUA.EstadoEnum.enProceso)
            {
                throw new ModelException("No se puede descartar un item que no esta en proceso de validacion");
            }

            item.EsValido = Enumerated.ReciclaUA.EstadoEnum.descartado;

            cad.Modificar(item);

            //throw new NotImplementedException ("Method DescartarItem() not yet implemented.");

            /*PROTECTED REGION END*/
        }
コード例 #5
0
        public ReciclaUAGenNHibernate.EN.ReciclaUA.JuegoEN SiguienteItem(int p_oid, ReciclaUAGenNHibernate.Enumerated.ReciclaUA.TipoContenedorEnum p_tipocontenedor)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CP.ReciclaUA_Juego_siguienteItem) ENABLED START*/

            IJuegoCAD juegoCAD = null;
            JuegoCEN  juegoCEN = null;
            JuegoEN   juegoEN  = null;

            INivelCAD nivelCAD = null;
            NivelCEN  nivelCEN = null;
            NivelEN   nivelEN  = null;


            try
            {
                SessionInitializeTransaction();

                juegoCAD = new JuegoCAD(session);
                juegoCEN = new JuegoCEN(juegoCAD);
                juegoEN  = juegoCAD.BuscarPorId(p_oid);

                nivelCAD = new NivelCAD(session);
                nivelCEN = new NivelCEN(nivelCAD);
                IList <NivelEN> niveles = new List <NivelEN>();

                ItemCAD Itemcad = new ItemCAD(session);


                niveles = nivelCAD.BuscarTodos(0, -1);
                nivelEN = niveles [juegoEN.NivelActual - 1];

                IList <ItemEN> itemsen = Itemcad.BuscarItemsPorNivel(nivelEN.Id);


                if (itemsen [juegoEN.ItemActual].Material.Contenedor == p_tipocontenedor)
                {
                    //Acierto
                    juegoEN.Aciertos++;
                    //Decimal penalizacion = 1 / juegoEN.IntentosItemActual;
                    Decimal penalizacion = Decimal.Divide(1, juegoEN.IntentosItemActual);

                    juegoEN.Puntuacion += Decimal.ToDouble(Decimal.Multiply(Convert.ToDecimal(nivelEN.Puntuacion), penalizacion));

                    juegoEN.IntentosItemActual = 1;


                    if (juegoEN.ItemActual + 1 < itemsen.Count)
                    {
                        juegoEN.ItemActual++;
                    }
                    else
                    {
                        juegoEN.ItemActual = 0;
                        niveles            = nivelCAD.BuscarTodos(0, -1);

                        if (juegoEN.NivelActual < niveles.Count)
                        {
                            juegoEN.NivelActual++;
                        }
                        else
                        {
                            juegoEN.Finalizado = true;
                        }
                    }
                }
                else
                {
                    //Fallo
                    juegoEN.Fallos++;
                    juegoEN.IntentosItemActual++;
                }

                juegoCAD.Modificar(juegoEN);



                SessionCommit();
            }
            catch (Exception ex)
            {
                SessionRollBack();
                throw ex;
            }
            finally
            {
                SessionClose();
            }
            return(juegoEN);


            /*PROTECTED REGION END*/
        }
コード例 #6
0
        public void SiguienteItem(int p_oid, ReciclaUAGenNHibernate.Enumerated.ReciclaUA.TipoContenedorEnum p_tipocontenedor)
        {
            /*PROTECTED REGION ID(ReciclaUAGenNHibernate.CEN.ReciclaUA_Juego_siguienteItem) ENABLED START*/


            JuegoCAD Juegocad = new JuegoCAD();
            JuegoEN  juegoen  = Juegocad.BuscarPorId(p_oid);

            ItemCAD Itemcad = new ItemCAD();

            IList <ItemEN> itemsen = Itemcad.BuscarItemsPorNivel(juegoen.NivelActual.Id);

            if (itemsen [juegoen.ItemActual].Material.Contenedor == p_tipocontenedor)
            {
                //Acierto
                juegoen.Aciertos++;
                double penalizacion = 1 / juegoen.IntentosItemActual;

                /*
                 * if (juegoen.IntentosItemActual == 1) {
                 *      penalizacion = 1;
                 * }
                 * else if (juegoen.IntentosItemActual == 2) {
                 *      penalizacion = 0.75;
                 * }
                 * else if (juegoen.IntentosItemActual == 3) {
                 *      penalizacion = 0.5;
                 * }
                 * else{
                 *      penalizacion = 0.25;
                 * }
                 */
                juegoen.Puntuacion += Convert.ToInt32(juegoen.NivelActual.Puntuacion * penalizacion);

                juegoen.IntentosItemActual = 1;


                if (juegoen.ItemActual < itemsen.Count)
                {
                    juegoen.ItemActual++;
                }
                else
                {
                    juegoen.ItemActual = 0;
                }

                //Obtener siguente nivel

                //juegoen.NivelActual++;

                //Si No existe siguiente nivel

                //juegoen.Finalizado = true;
            }
            else
            {
                //Fallo
                juegoen.Fallos++;
                juegoen.IntentosItemActual++;
            }

            Juegocad.Modificar(juegoen);

            /*PROTECTED REGION END*/
        }