Пример #1
0
        public ActionResult LoadGanadas()
        {
            try
            {
                SessionInitialize();

                RegistradoCAD registradoCAD = new RegistradoCAD(session);
                RegistradoCEN registradoCEN = new RegistradoCEN(registradoCAD);

                PujaCAD pujaCAD = new PujaCAD(session);
                PujaCEN pujaCEN = new PujaCEN(pujaCAD);

                int          miID         = (int)Session["idUsuario"];
                RegistradoEN registradoEN = registradoCEN.get_IRegistradoCAD().ReadOIDDefault(miID);

                IList <PujaEN>     pujasEN = registradoEN.PujaGanadora;
                IEnumerable <Puja> pujas   = new AssemblerPuja().ConvertListENToModel(pujasEN);

                SessionClose();

                return(View("../Registrado/Ganadas", pujas));
            }
            catch (Exception e)
            {
                return(RedirectToAction("../Home"));
            }
        }
Пример #2
0
        public List <SelectListItem> getAllNombres()
        {
            ISession session;

            session = NHibernateHelper.OpenSession();

            PujaCAD pujaCAD = new PujaCAD(session);
            PujaCEN pujaCEN = new PujaCEN(pujaCAD);

            IEnumerable <PujaEN> listaEN = pujaCEN.get_IPujaCAD().ReadAll(0, -1);

            List <SelectListItem> miLista = new List <SelectListItem>();


            foreach (PujaEN cat in listaEN)
            {
                SelectListItem item = new SelectListItem {
                    Value = cat.Id.ToString(), Text = cat.Articulo.Nombre
                };
                if (!cat.Cerrada)
                {
                    miLista.Add(item);
                }
            }

            session.Close();
            session.Dispose();
            session = null;

            return(miLista);
        }
Пример #3
0
        public ActionResult PagarPuja(int pujaid)
        {
            int usuid = (int)Session["idusuario"];

            PujaCAD pujaCAD = new PujaCAD();
            PujaCEN pujaCEN = new PujaCEN();
            PujaEN  pujaEN  = pujaCEN.get_IPujaCAD().ReadOIDDefault(pujaid);

            LineaPedidoCAD lineaCAD = new LineaPedidoCAD();
            LineaPedidoCEN lineaCEN = new LineaPedidoCEN();
            int            lineaID  = lineaCEN.New_(1, pujaEN.Articulo.Id);

            List <int> lineasList = new List <int>
            {
                lineaID
            };

            PedidoCAD pedidoCAD = new PedidoCAD();
            PedidoCEN pedidoCEN = new PedidoCEN();
            int       pedidoID  = pedidoCEN.New_("Pedido de puja", DateTime.Now, usuid);

            pedidoCEN.Anyadir_linea(pedidoID, lineasList);

            //pujaEN.Pagada = true;

            pujaCEN.Modify(pujaEN.Id, pujaEN.Fecha, pujaEN.Puja_inicial, pujaEN.Puja_max, pujaEN.Id_usuario, pujaEN.Cerrada, true);


            return(RedirectToAction("Details/" + pujaid));
        }
Пример #4
0
        // GET: Puja/Details/5
        public ActionResult Details(int id)
        {
            SessionInitialize();

            PujaCAD pujaCAD = new PujaCAD(session);
            PujaCEN pujaCEN = new PujaCEN(pujaCAD);

            PujaEN pujaEN = pujaCAD.ReadOIDDefault(id);
            Puja   puj    = new AssemblerPuja().ConvertENToModelUI(pujaEN);

            SessionClose();

            return(View(puj));
        }
Пример #5
0
        // GET: Puja
        public ActionResult Index()
        {
            SessionInitialize();

            PujaCAD pujaCAD = new PujaCAD(session);
            PujaCEN pujaCEN = new PujaCEN(pujaCAD);

            IList <PujaEN>     pujas = pujaCEN.ReadAll(0, -1);
            IEnumerable <Puja> puj   = new AssemblerPuja().ConvertListENToModel(pujas).ToList();

            SessionClose();

            return(View(puj));
        }
Пример #6
0
 /// <summary>
 /// Confirma los cambios de la puja en la DB. Inserta o modifica.
 /// </summary>
 /// <returns>Devuelve true si se llevó a cabo la insercion/acatualizacion o false en caso contrario</returns>
 public bool commitDB()
 {
     // Inserta en la DB si no existe y lo actualiza si ya existía
     PujaCAD cad = new PujaCAD(this);
     return cad.insertarActualizar();
 }
Пример #7
0
 /// <summary>
 /// Borra la puja actual de la DB
 /// </summary>
 /// <returns>Devuelve true si se borró con éxito o false en caso contrario</returns>
 public bool borrarDB()
 {
     // Borra el Producto actual de la DB
     PujaCAD cad = new PujaCAD(this);
     return cad.borrar();
 }
        public void Terminar_puja(int p_Puja_OID, Nullable <DateTime> p_fecha, float p_puja_inicial, float p_puja_max, int p_id_usuario, bool p_cerrada, bool p_pagada)
        {
            /*PROTECTED REGION ID(DSM1GenNHibernate.CP.DSM1_Puja_terminar_puja) ENABLED START*/

            IPujaCAD pujaCAD = null;
            PujaCEN  pujaCEN = null;



            try
            {
                SessionInitializeTransaction();
                pujaCAD = new PujaCAD(session);
                pujaCEN = new PujaCEN(pujaCAD);

                IList <OfertaPujaEN> pujas         = pujaCEN.get_IPujaCAD().ReadOIDDefault(p_Puja_OID).OfertaPuja; //Lista de pujas hechas en esta subasta
                OfertaPujaEN         puja_ganadora = null;

                if (pujaCEN.get_IPujaCAD().ReadOIDDefault(p_Puja_OID).Cerrada)
                {
                    Exception ex = new Exception("YA ESTABA CERRADA");
                    throw ex;
                }

                foreach (OfertaPujaEN p in pujas)
                {
                    if (p.Cantidad_puja == p_puja_max)
                    {
                        puja_ganadora = p;
                        break;
                    }
                }
                if (puja_ganadora != null)
                {
                    pujaCEN.Declarar_ganador(p_Puja_OID, puja_ganadora.Registrado.Id);
                    RegistradoCEN registradoCEN = new RegistradoCEN();
                    Console.ForegroundColor = ConsoleColor.Red;
                    System.Console.WriteLine("    PUJA FINALIZADA -- GANADOR: " + registradoCEN.get_IRegistradoCAD().ReadOIDDefault(puja_ganadora.Registrado.Id).N_usuario + "\n");
                }

                PujaEN pujaEN = null;
                //Initialized PujaEN
                pujaEN              = new PujaEN();
                pujaEN.Id           = p_Puja_OID;
                pujaEN.Fecha        = p_fecha;
                pujaEN.Puja_inicial = p_puja_inicial;
                pujaEN.Puja_max     = p_puja_max;
                pujaEN.Id_usuario   = p_id_usuario;
                pujaEN.Cerrada      = p_cerrada;
                //Call to PujaCAD

                pujaCAD.Terminar_puja(pujaEN);


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


            /*PROTECTED REGION END*/
        }
Пример #9
0
        public DSM1GenNHibernate.EN.DSM1.OfertaPujaEN Nueva_oferta(Nullable <DateTime> p_fecha, Nullable <DateTime> p_tiempo, int p_registrado, int p_puja, float p_cantidad_puja)
        {
            /*PROTECTED REGION ID(DSM1GenNHibernate.CP.DSM1_OfertaPuja_nueva_oferta) ENABLED START*/

            IOfertaPujaCAD ofertaPujaCAD = null;
            OfertaPujaCEN  ofertaPujaCEN = null;

            IPujaCAD pujaCAD = null;
            PujaCEN  pujaCEN = null;

            DSM1GenNHibernate.EN.DSM1.OfertaPujaEN result = null;


            try
            {
                SessionInitializeTransaction();
                ofertaPujaCAD = new OfertaPujaCAD(session);
                ofertaPujaCEN = new  OfertaPujaCEN(ofertaPujaCAD);

                pujaCAD = new PujaCAD(session);
                pujaCEN = new PujaCEN(pujaCAD);

                PujaEN pujaEN = pujaCEN.get_IPujaCAD().ReadOIDDefault(p_puja);    //Consigo la puja a la cual va dirigida esta oferta

                if (pujaEN.Cerrada == true)
                {
                    Exception cerrada = new Exception("Está cerrada, largo de aquí!");
                    throw cerrada;
                }

                if (pujaEN.Id_usuario == p_registrado)
                {
                    Exception PP = new Exception("Ya eres el máximo pujador, vuelve más tarde");
                    throw PP;
                }

                if (pujaEN.Puja_max < p_cantidad_puja && pujaEN.Puja_inicial < p_cantidad_puja)
                {
                    //System.Console.WriteLine("NUEVA PUJA! "+p_registrado + " "+p_puja+ " "+p_cantidad_puja+"�");
                    PujaEN nueva = new PujaEN();
                    nueva.Id           = pujaEN.Id;
                    nueva.Fecha        = pujaEN.Fecha;
                    nueva.Puja_inicial = pujaEN.Puja_inicial;

                    nueva.Puja_max   = p_cantidad_puja;  //Cambiamos la puja max
                    nueva.Id_usuario = p_registrado;     //Y el usuario

                    nueva.Cerrada = pujaEN.Cerrada;

                    pujaCEN.get_IPujaCAD().Actualizar(nueva);       //Actualizamos
                }
                else
                {
                    Exception pasta = new Exception("Debes introducir un importe mayor!");
                    throw pasta;
                }
                int oid;
                //Initialized OfertaPujaEN
                OfertaPujaEN ofertaPujaEN;
                ofertaPujaEN       = new OfertaPujaEN();
                ofertaPujaEN.Fecha = p_fecha;

                ofertaPujaEN.Tiempo = p_tiempo;


                if (p_registrado != -1)
                {
                    ofertaPujaEN.Registrado    = new DSM1GenNHibernate.EN.DSM1.RegistradoEN();
                    ofertaPujaEN.Registrado.Id = p_registrado;
                }


                if (p_puja != -1)
                {
                    ofertaPujaEN.Puja    = new DSM1GenNHibernate.EN.DSM1.PujaEN();
                    ofertaPujaEN.Puja.Id = p_puja;
                }

                ofertaPujaEN.Cantidad_puja = p_cantidad_puja;

                //Call to OfertaPujaCAD

                oid    = ofertaPujaCAD.Nueva_oferta(ofertaPujaEN);
                result = ofertaPujaCAD.ReadOIDDefault(oid);



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


            /*PROTECTED REGION END*/
        }