Esempio n. 1
0
        //falta terminar para traer todos las recetas ordenadas por una orden
        public List <RecetaOrdenada> getRecetaOrdenadaByOrden(int idOrden)
        {
            cmd.CommandText = "PACKAGE_ORDEN.PR_LIST_RECTAS_ORDENS_BY_ORDEN";

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add("P_ID_ORDEN", OracleDbType.Int32).Value             = idOrden;
            cmd.Parameters.Add("CURSOR_ORDENES", OracleDbType.RefCursor).Direction = ParameterDirection.Output;

            List <RecetaOrdenada> recetaOrdenadasCliente = new List <RecetaOrdenada>();

            try
            {
                OracleDataReader reader = cmd.ExecuteReader();


                foreach (var item in reader)
                {
                    RecetaOrdenada recetaOrdenada = new RecetaOrdenada();
                }

                con.Close();

                return(recetaOrdenadasCliente);
            }
            catch (Exception)
            {
                return(recetaOrdenadasCliente);
            }
        }
        public List <RecetaCantidad> obtenerRecetasWithCantidad(List <OrdenCocina> ordenes)
        {
            List <RecetaCantidad> listaReceta = new List <RecetaCantidad>();

            List <Receta> recetas = new List <Receta>();

            List <RecetaOrdenada> recetasOrdenada = new List <RecetaOrdenada>();

            //obtener las recetas
            foreach (var d in ordenes)
            {
                foreach (var rect in d.RecetaOrdenada)
                {
                    recetas.Add(rect.Receta);
                    RecetaOrdenada recetaOrdenada = new RecetaOrdenada();
                    recetaOrdenada = rect;
                    recetasOrdenada.Add(recetaOrdenada);
                }
            }

            List <Receta> recetaSinRepetir = new List <Receta>();

            foreach (var rece in recetas)
            {
                if (!recetaSinRepetir.Contains(rece, new Receta.EqualityComparer()))
                {
                    recetaSinRepetir.Add(rece);
                }
            }

            foreach (var item in recetaSinRepetir)
            {
                RecetaCantidad recetaCantidad = new RecetaCantidad();

                recetaCantidad.Receta   = item;
                recetaCantidad.Cantidad = calcularCantidadRecetas(ordenes, item.IdReceta);;
                listaReceta.Add(recetaCantidad);
            }


            return(listaReceta);
        }
        public List <RecetaOrdenada> listarOrdenesBoletaByIdCliente(int idCliente)
        {
            List <RecetaOrdenada> ordenes = new List <RecetaOrdenada>();



            try
            {
                cmd.CommandText = "PACKAGE_CONTROL_CAJA.PR_ORDENES_BOLETA";

                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("P_ID_CLIENTE", OracleDbType.Int32).Value           = idCliente;
                cmd.Parameters.Add("CURSOR_ORDENES", OracleDbType.RefCursor).Direction = ParameterDirection.Output;

                OracleDataReader reader = cmd.ExecuteReader();

                foreach (var item in reader)
                {
                    RecetaOrdenada recetaOrdenada = new RecetaOrdenada();
                    Receta         receta         = new Receta();

                    receta.NombreReceta     = reader.GetString(0);
                    receta.PrecioReceta     = reader.GetInt32(1);
                    recetaOrdenada.Receta   = receta;
                    recetaOrdenada.Cantidad = reader.GetInt32(2);
                    recetaOrdenada.Valor    = reader.GetInt32(3);

                    ordenes.Add(recetaOrdenada);
                }

                con.Close();

                return(ordenes);
            }
            catch (Exception ex)
            {
                System.Console.WriteLine("error: " + ex.Message.ToString());
                ordenes = null;

                return(ordenes);
            }
        }
        public List <RecetaOrdenada> getRecetasOrdenadasByIdOrden()
        {
            cmd.CommandText = "PACKAGE_ORDEN.PR_LIST_RECTAS_ORDENS_ALL";

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add("CURSOR_ORDENES", OracleDbType.RefCursor).Direction = ParameterDirection.Output;

            List <RecetaOrdenada> recetasOrdenadas = new List <RecetaOrdenada>();

            try
            {
                OracleDataReader reader = cmd.ExecuteReader();

                foreach (var item in reader)
                {
                    RecetaOrdenada recetaOrdenada = new RecetaOrdenada();

                    recetaOrdenada.IdRecetaOrdenada = reader.GetInt32(0);

                    Receta receta = new Receta();
                    receta.NombreReceta = reader.GetString(1);



                    recetaOrdenada.Cantidad = reader.GetInt32(2);

                    Orden orden = new Orden();

                    orden.IdOrden = reader.GetInt32(3);

                    receta.IdReceta = reader.GetInt32(4);

                    recetaOrdenada.Receta = receta;

                    recetaOrdenada.Orden = orden;



                    recetasOrdenadas.Add(recetaOrdenada);
                }

                con.Close();



                return(recetasOrdenadas);
            }
            catch (Exception ex)
            {
                RecetaOrdenada recetaOrdenada = new RecetaOrdenada();


                Receta receta = new Receta();

                receta.NombreReceta = ex.Message;

                recetaOrdenada.Cantidad = 1;

                recetaOrdenada.Receta = receta;

                recetasOrdenadas.Add(recetaOrdenada);

                return(recetasOrdenadas);
            }
        }