Пример #1
0
        private void init(int id
                          , int descuento, PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum tipo, System.Collections.Generic.IList <PracticaGenNHibernate.EN.Practica.PedidoEN> pedido, string numero)
        {
            this.Id = id;


            this.Descuento = descuento;

            this.Tipo = tipo;

            this.Pedido = pedido;

            this.Numero = numero;
        }
Пример #2
0
        public void Modify(int p_Codigo_OID, int p_descuento, PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum p_tipo, string p_numero)
        {
            CodigoEN codigoEN = null;

            //Initialized CodigoEN
            codigoEN           = new CodigoEN();
            codigoEN.Id        = p_Codigo_OID;
            codigoEN.Descuento = p_descuento;
            codigoEN.Tipo      = p_tipo;
            codigoEN.Numero    = p_numero;
            //Call to CodigoCAD

            _ICodigoCAD.Modify(codigoEN);
        }
Пример #3
0
        public int New_(int p_descuento, PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum p_tipo, string p_numero)
        {
            CodigoEN codigoEN = null;
            int      oid;

            //Initialized CodigoEN
            codigoEN           = new CodigoEN();
            codigoEN.Descuento = p_descuento;

            codigoEN.Tipo = p_tipo;

            codigoEN.Numero = p_numero;

            //Call to CodigoCAD

            oid = _ICodigoCAD.New_(codigoEN);
            return(oid);
        }
Пример #4
0
        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*/
        }
Пример #5
0
 public CodigoEN(int id, int descuento, PracticaGenNHibernate.Enumerated.Practica.TipoCodigoEnum tipo, System.Collections.Generic.IList <PracticaGenNHibernate.EN.Practica.PedidoEN> pedido, string numero
                 )
 {
     this.init(Id, descuento, tipo, pedido, numero);
 }