コード例 #1
0
        public BaseDatosGenNHibernate.EN.BaseDatos.PedidoEN EnviarPedido(Nullable <DateTime> p_Fecha, int p_pedido)
        {
            /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_enviarPedido) ENABLED START*/

            BaseDatosGenNHibernate.EN.BaseDatos.PedidoEN result = null;

            try
            {
                SessionInitializeTransaction();

                IPedidoCAD   pedidoCAD = new PedidoCAD(session);
                IProductoCAD prodCAD   = new ProductoCAD(session);
                IEnvioCAD    envioCAD  = new EnvioCAD(session);

                PedidoCEN   pedidoCEN = new PedidoCEN(pedidoCAD);
                ProductoCEN prodCEN   = new ProductoCEN(prodCAD);
                EnvioCEN    envioCEN  = new EnvioCEN(envioCAD);

                PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido);

                if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Pagado)
                {
                    foreach (LineaPedidoEN lnEN in pedidoEN.LineaPedido)
                    {
                        ProductoEN prodEN = lnEN.Producto;
                        prodCEN = new ProductoCEN(prodCAD);
                        prodCEN.DecrementaStock(prodEN.Id, lnEN.Cantidad);
                    }

                    pedidoEN.Estado = Enumerated.BaseDatos.EstadoPedidoEnum.Enviado;
                    pedidoCAD.Modify(pedidoEN);
                    envioCEN = new EnvioCEN(envioCAD);
                    envioCEN.New_(DateTime.Now, p_Fecha, Enumerated.BaseDatos.EstadoEnvioEnum.EnCamino, p_pedido);
                }

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


            /*PROTECTED REGION END*/
        }
コード例 #2
0
        public void RechazarPedido(int p_pedido)
        {
            /*PROTECTED REGION ID(BaseDatosGenNHibernate.CP.BaseDatos_Pedido_rechazarPedido) ENABLED START*/

            try
            {
                SessionInitializeTransaction();

                IPedidoCAD pedidoCAD = new PedidoCAD(session);
                IEnvioCAD  envioCAD  = new EnvioCAD(session);

                PedidoCEN pedidoCEN = new PedidoCEN(pedidoCAD);
                EnvioCEN  envioCEN  = new EnvioCEN(envioCAD);

                PedidoEN pedidoEN = pedidoCEN.MuestraPedidoPorOID(p_pedido);

                if (pedidoEN.Estado == Enumerated.BaseDatos.EstadoPedidoEnum.Enviado)
                {
                    EnvioEN envioEN = pedidoEN.Envio;

                    envioEN.Estado = Enumerated.BaseDatos.EstadoEnvioEnum.Extraviado;
                    envioCAD.Modify(envioEN);
                }

                pedidoEN.Estado = Enumerated.BaseDatos.EstadoPedidoEnum.Rechazado;
                pedidoCAD.Modify(pedidoEN);

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


            /*PROTECTED REGION END*/
        }