Пример #1
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));
        }
        public void Finalizar_compra(int p_Carrito_OID, float p_precio)
        {
            /*PROTECTED REGION ID(DSM1GenNHibernate.CP.DSM1_Carrito_finalizar_compra) ENABLED START*/

            ICarritoCAD carritoCAD = null;
            CarritoCEN  carritoCEN = null;

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;

            IArticuloCAD articuloCAD = null;
            ArticuloCEN  articuloCEN = null;


            try
            {
                SessionInitializeTransaction();
                carritoCAD = new CarritoCAD(session);
                carritoCEN = new CarritoCEN(carritoCAD);

                pedidoCAD = new PedidoCAD(session);
                pedidoCEN = new PedidoCEN(pedidoCAD);

                articuloCAD = new ArticuloCAD(session);  //SU CEN ESTA MAS ABAJO


                int usuario = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID).Registrado.Id;
                IList <LineaPedidoEN> listaLineas = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID).LineaPedido;

                //NEW PEDIDO
                int pedidoid = pedidoCEN.New_("", DateTime.Now, usuario);

                //ANYADIR LINEAS
                IList <int> lineasId = new List <int>();
                foreach (LineaPedidoEN linea in listaLineas)
                {
                    lineasId.Add(linea.Id);
                }

                pedidoCEN.Anyadir_linea(pedidoid, lineasId);

                //DECREMENTAR STOCK
                foreach (LineaPedidoEN linea in listaLineas)
                {
                    articuloCEN = new ArticuloCEN(articuloCAD);

                    if (!articuloCEN.Quitar_stock(linea.Articulo.Id, linea.Cantidad))
                    {
                        Exception ex = new Exception("TE HAS PASADO DE CANTIDAD CHACHO");
                        throw ex;
                    }
                }

                CarritoEN carritoEN = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID);

                //VACIAR CARRITO
                carritoCEN.Vaciar_carrito(p_Carrito_OID, lineasId);

                carritoEN = carritoCEN.get_ICarritoCAD().ReadOIDDefault(p_Carrito_OID);


                //CarritoEN carritoEN = null;
                carritoEN = null;

                //Initialized CarritoEN
                carritoEN        = new CarritoEN();
                carritoEN.Id     = p_Carrito_OID;
                carritoEN.Precio = 0;

                //Call to CarritoCAD
                carritoCAD.Finalizar_compra(carritoEN);


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


            /*PROTECTED REGION END*/
        }