Exemple #1
0
        public void Confirmar(int p_oid)
        {
            /*PROTECTED REGION ID(PracticaGenNHibernate.CP.Practica_Pedido_confirmar) ENABLED START*/

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;
            PedidoEN   pedidoEN  = null;

            IProductoCAD productoCAD = null;
            ProductoCEN  productoCEN = null;


            try
            {
                SessionInitializeTransaction();

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

                productoCAD = new ProductoCAD(session);
                productoCEN = new ProductoCEN(productoCAD);

                pedidoEN = pedidoCEN.ReadOID(p_oid);

                IList <LineaPedidoEN> lineas = pedidoEN.LineaPedido;

                foreach (LineaPedidoEN l in lineas)
                {
                    productoCEN.IncrementarNumVeces(l.Producto.Id, l.Cantidad);
                    int veces = l.Producto.NumVeces;
                }

                pedidoEN.Confirmado = true;



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


            /*PROTECTED REGION END*/
        }
Exemple #2
0
        public void Comprar(string p_oid, System.Collections.Generic.IList <CervezUAGenNHibernate.EN.CervezUA.LineaPedidoEN> linea)
        {
            /*PROTECTED REGION ID(CervezUAGenNHibernate.CP.CervezUA_Usuario_comprar) ENABLED START*/

            IUsuarioCAD usuarioCAD = null;
            UsuarioCEN  usuarioCEN = null;
            IPedidoCAD  pedidoCAD  = null;
            PedidoCEN   pedidoCEN  = null;



            try
            {
                SessionInitializeTransaction();
                usuarioCAD = new UsuarioCAD(session);
                usuarioCEN = new  UsuarioCEN(usuarioCAD);
                pedidoCAD  = new PedidoCAD(session);
                pedidoCEN  = new PedidoCEN(pedidoCAD);

                PedidoEN pedido = new PedidoEN();

                //pedidoCEN.New_ (p_oid, (Enumerated.CervezUA.EstadoPedidoEnum) 0);
                foreach (var item in linea)
                {
                    ArticuloCAD art      = new ArticuloCAD(session);
                    ArticuloCEN articulo = new ArticuloCEN(art);
                    ArticuloEN  a        = art.ReadOIDDefault(item.Articulo.Id);

                    articulo.Modify(a.Id, a.Nombre, a.Stock - item.Numero, a.Precio, a.ValMedia, a.Descripcion, a.Imagen, a.Marca);
                }



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


            /*PROTECTED REGION END*/
        }
        public void ConfirmarPedido(int p_oid)
        {
            /*PROTECTED REGION ID(PracticaGenNHibernate.CP.Practica_Pedido_confirmarPedido) ENABLED START*/

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;



            try
            {
                SessionInitializeTransaction();
                pedidoCAD = new PedidoCAD(session);
                pedidoCEN = new  PedidoCEN(pedidoCAD);



                // Write here your custom transaction ...
                PedidoEN pedidoEN = pedidoCEN.ReadOID(p_oid);
                pedidoEN.Confirmado = true;

                foreach (LineaPedidoEN linea in pedidoEN.LineaPedido)
                {
                    linea.Producto.NumVeces += linea.Cantidad;
                }
                pedidoCAD.ModifyDefault(pedidoEN);


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


            /*PROTECTED REGION END*/
        }
        public double CalcularPrecio(int p_oid)
        {
            /*PROTECTED REGION ID(PracticaGenNHibernate.CP.Practica_Pedido_calcularPrecio) ENABLED START*/

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;

            int    cantidad    = 0;
            bool   tiene       = false;
            double preciototal = 0;
            double preciolinea = 0;
            double descuento   = 0;



            try
            {
                SessionInitializeTransaction();
                pedidoCAD = new PedidoCAD(session);
                pedidoCEN = new PedidoCEN(pedidoCAD);


                PredefinidaCEN    predef      = new PredefinidaCEN();
                PersonalizableCEN person      = new PersonalizableCEN();
                ComplementoCEN    complemento = new ComplementoCEN();
                BebidaCEN         bebida      = new BebidaCEN();

                PedidoEN pedidoEN = pedidoCAD.ReadOIDDefault(p_oid);

                //hago readall de todas los productos

                IList <PredefinidaEN>    p   = predef.ReadAll(0, -1);
                IList <PersonalizableEN> per = person.ReadAll(0, -1);
                IList <ComplementoEN>    c   = complemento.ReadAll(0, -1);
                IList <BebidaEN>         b   = bebida.ReadAll(0, -1);


                //compruebo si el pedido tiene c�digo

                if (pedidoEN.Codigo != null)
                {
                    tiene = true;
                }

                foreach (LineaPedidoEN lineaped in pedidoEN.LineaPedido)
                {
                    cantidad = lineaped.Cantidad;

                    if (tiene)
                    {
                        PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum tipo = pedidoEN.Codigo.Tipo;

                        foreach (PredefinidaEN pres in p)
                        {
                            if (pres.Id == lineaped.Producto.Id)
                            {
                                preciolinea = lineaped.Producto.Precio * cantidad;



                                if (tipo == PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum.pizza)
                                {
                                    descuento   = preciolinea * (pedidoEN.Codigo.Descuento) * 0.01;
                                    preciolinea = preciolinea - descuento;
                                }
                                preciototal += preciolinea;
                            }
                        }

                        foreach (PersonalizableEN pres in per)
                        {
                            if (pres.Id == lineaped.Producto.Id)
                            {
                                preciolinea = lineaped.Producto.Precio * cantidad;
                                if (tipo == PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum.pizza)
                                {
                                    descuento   = preciolinea * (pedidoEN.Codigo.Descuento) * 0.01;
                                    preciolinea = preciolinea - descuento;
                                }

                                preciototal += preciolinea;
                            }
                        }

                        foreach (ComplementoEN pres in c)
                        {
                            if (pres.Id == lineaped.Producto.Id)
                            {
                                preciolinea = lineaped.Producto.Precio * cantidad;
                                if (tipo == PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum.complemento)
                                {
                                    descuento   = preciolinea * (pedidoEN.Codigo.Descuento) * 0.01;
                                    preciolinea = preciolinea - descuento;
                                }
                                preciototal += preciolinea;
                            }
                        }

                        foreach (BebidaEN pres in b)
                        {
                            if (pres.Id == lineaped.Producto.Id)
                            {
                                preciolinea = lineaped.Producto.Precio * cantidad;
                                if (tipo == PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum.bebida)
                                {
                                    descuento   = preciolinea * (pedidoEN.Codigo.Descuento) * 0.01;
                                    preciolinea = preciolinea - descuento;
                                }

                                preciototal += preciolinea;
                            }
                        }
                    }
                    else
                    {
                        preciototal += lineaped.Producto.Precio * cantidad;
                    }
                }


                pedidoEN.PrecioTotal = preciototal;

                pedidoCAD.ModifyDefault(pedidoEN);

                // Write here your custom transaction ...



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


            /*PROTECTED REGION END*/
        }
        public void Terminar_compra(int p_Carrito_OID, float p_precio)
        {
            /*PROTECTED REGION ID(DSM1GenNHibernate.CP.DSM1_Carrito_terminar_compra) ENABLED START*/

            ICarritoCAD carritoCAD = null;
            CarritoCEN  carritoCEN = null;

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;

            //DSM1GenNHibernate.EN.DSM1.CarritoEN result = null;


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

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



                int oid;
                //Initialized CarritoEN
                CarritoEN carritoEN;
                carritoEN = new CarritoEN();



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

                carritoEN.Precio = p_precio;

                //Call to CarritoCAD

                oid    = carritoCAD.Terminar_compra(carritoEN);
                result = carritoCAD.ReadOIDDefault(oid);



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



            /*PROTECTED REGION END*/
        }
 public PedidoCEN(IPedidoCAD _IPedidoCAD)
 {
     this._IPedidoCAD = _IPedidoCAD;
 }
 public PedidoCEN()
 {
     this._IPedidoCAD = new PedidoCAD();
 }
 public PedidoCEN(IPedidoCAD _IPedidoCAD)
 {
     this._IPedidoCAD = _IPedidoCAD;
 }
 public PedidoCEN()
 {
     this._IPedidoCAD = new PedidoCAD ();
 }
        public DSM1GenNHibernate.EN.DSM1.PedidoEN Terminar_compra(string p_descripcion, Nullable <DateTime> p_fecha, string p_direccion, string p_localidad, string p_provincia, int p_cp, int p_registrado, int p_carrito)
        {
            /*PROTECTED REGION ID(DSM1GenNHibernate.CP.DSM1_Pedido_terminar_compra) ENABLED START*/

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;

            DSM1GenNHibernate.EN.DSM1.PedidoEN result = null;


            try
            {
                SessionInitializeTransaction();
                pedidoCAD = new PedidoCAD(session);
                pedidoCEN = new  PedidoCEN(pedidoCAD);



                int oid;
                //Initialized PedidoEN
                PedidoEN pedidoEN;
                pedidoEN             = new PedidoEN();
                pedidoEN.Descripcion = p_descripcion;

                pedidoEN.Fecha = p_fecha;

                pedidoEN.Direccion = p_direccion;

                pedidoEN.Localidad = p_localidad;

                pedidoEN.Provincia = p_provincia;

                pedidoEN.Cp = p_cp;


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


                if (p_carrito != -1)
                {
                    pedidoEN.Carrito    = new DSM1GenNHibernate.EN.DSM1.CarritoEN();
                    pedidoEN.Carrito.Id = p_carrito;
                }

                //Call to PedidoCAD

                oid    = pedidoCAD.Terminar_compra(pedidoEN);
                result = pedidoCAD.ReadOIDDefault(oid);



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


            /*PROTECTED REGION END*/
        }
        public double CalcularMedia(int p_oid)
        {
            /*PROTECTED REGION ID(PracticaGenNHibernate.CP.Practica_Pedido_calcularMedia) ENABLED START*/

            IPedidoCAD pedidoCAD = null;
            PedidoCEN  pedidoCEN = null;
            PedidoEN   pedidoEN  = null;

            double result     = 0;
            double acumulador = 0;

            try
            {
                SessionInitializeTransaction();
                pedidoCAD = new PedidoCAD(session);
                pedidoCEN = new  PedidoCEN(pedidoCAD);



                // Write here your custom transaction ...

                pedidoEN = pedidoCEN.ReadOID(p_oid);


                double count = 0.0;
                foreach (LineaPedidoEN lineaped in pedidoEN.LineaPedido)
                {
                    if (lineaped.Valoracion == PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.mala)
                    {
                        acumulador += 1;
                    }
                    if (lineaped.Valoracion == PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.regular)
                    {
                        acumulador += 2;
                    }
                    if (lineaped.Valoracion == PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.buena)
                    {
                        acumulador += 3;
                    }
                    if (lineaped.Valoracion == PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.muybuena)
                    {
                        acumulador += 4;
                    }
                    if (lineaped.Valoracion == PracticaGenNHibernate.Enumerated.Practica.TipoValoracionEnum.excelente)
                    {
                        acumulador += 5;
                    }
                    count++;     //numero de lineas de pedido que tiene pedido
                }
                //calculando media

                result = acumulador / count;



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


            /*PROTECTED REGION END*/
        }
        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*/
        }