public void ObtenTodos(Dictionary<string, clsProductosCatalogo> productos)
 {
     string nombreArchivo = ControlPedidos.rutaArchivo + "\\Productos.txt";
     if(File.Exists(nombreArchivo))
     {
         TextReader txtReader;
         string linea;
         clsProductosCatalogo producto = new clsProductosCatalogo();
         productos.Clear();
         using (txtReader = new StreamReader(nombreArchivo))
         {
             do
             {
                 linea = txtReader.ReadLine();
                 if (linea != null)
                 {
                     string[] campos = linea.Split(',');
                     producto = new clsProductosCatalogo();
                     producto.idProducto = Convert.ToInt32(campos[0]);
                     producto.Clave = campos[1];
                     producto.CodigoBarras = campos[2];
                     producto.Descripcion = campos[3];
                     producto.EsMontoIeps = Convert.ToBoolean(campos[4]);
                     producto.Ieps = Convert.ToDecimal(campos[5]);
                     producto.PorcentajeIva = Convert.ToDecimal(campos[6]);
                     producto.Precio = Convert.ToDecimal(campos[7]);
                     producto.Precio2 = Convert.ToDecimal(campos[8]);
                     producto.Precio3 = Convert.ToDecimal(campos[9]);
                     productos.Add(producto.Clave, producto);
                 }
             } while (linea != null);
             txtReader.Close();
         }
     }
 }
示例#2
0
        public clsProductosPedido(clsProductosCatalogo productoDeCatalogo,
                                  TipoCliente tipo, decimal cantidad)
        {
            idProducto    = productoDeCatalogo.idProducto;
            Clave         = productoDeCatalogo.Clave;
            CodigoBarras  = productoDeCatalogo.CodigoBarras;
            Descripcion   = productoDeCatalogo.Descripcion;
            PorcentajeIva = productoDeCatalogo.PorcentajeIva;
            Ieps          = productoDeCatalogo.Ieps;
            EsMontoIeps   = productoDeCatalogo.EsMontoIeps;
            Cantidad      = cantidad;
            switch (tipo)
            {
            case TipoCliente.Publico:
                Precio = productoDeCatalogo.Precio;
                break;

            case TipoCliente.Medio:
                Precio = productoDeCatalogo.Precio2;
                break;

            case TipoCliente.Mayoreo:
                Precio = productoDeCatalogo.Precio3;
                break;

            default:
                Precio = productoDeCatalogo.Precio;
                break;
            }
            MontoIva = DesglosaIva();
            decimal precioSinIvaSinIepsCalculado = 0m;

            MontoIeps           = DesglosaIeps(out precioSinIvaSinIepsCalculado);
            PrecioSinIvaSinIeps = precioSinIvaSinIepsCalculado;
            Subtotal            = PrecioSinIvaSinIeps * Cantidad;
            Total = Subtotal + MontoIva + MontoIeps;
        }
 public void Modifica(clsProductosCatalogo producto)
 {
     //throw new NotImplementedException();
 }
示例#4
0
        public static void AgregaProductoAlPedido()
        {
            clsRepositorioArchivoProductos repo      = new clsRepositorioArchivoProductos();
            clsProductosCatalogo           producto  = new clsProductosCatalogo();
            colProductosCatalogo           Productos = new colProductosCatalogo(repo);

            Console.WriteLine("1. Buscar por clave");
            Console.WriteLine("2. Buscar por nombre");
            string opcion = Console.ReadLine();
            int    valor  = 0;

            if (int.TryParse(opcion, out valor))
            {
                if (valor == 1)
                {
                    Console.WriteLine("Dame la clave del producto:");
                    opcion = Console.ReadLine();
                    if (Productos.BuscaPorClave(opcion, ref producto))
                    {
                        Console.WriteLine("Dame la cantidad:");
                        string             opcion2        = Console.ReadLine();
                        decimal            cantidad       = Convert.ToDecimal(opcion2);
                        clsProductosPedido productoPedido = new clsProductosPedido(producto,
                                                                                   Pedido.Cliente.Tipo,
                                                                                   cantidad);
                        Pedido.AgregaItem(productoPedido);
                    }
                    else
                    {
                        Console.WriteLine("No se encontró el producto con clave {0}",
                                          opcion);
                        Console.ReadKey();
                    }
                }
                else
                {
                    Console.WriteLine("Dame el inicio de la descripcion:");
                    opcion = Console.ReadLine();
                    List <clsProductosCatalogo> resultado = new List <clsProductosCatalogo>();
                    resultado = Productos.ObtenPorDescripcion(opcion);
                    if (resultado.Count > 0)
                    {
                        for (int i = 0; i < resultado.Count; i++)
                        {
                            Console.WriteLine((i + 1).ToString() +
                                              ". " + resultado[i].Descripcion);
                        }
                        Console.WriteLine("Selecciona el producto:");
                        string opcion2 = Console.ReadLine();
                        int    indice  = Convert.ToInt32(opcion2);
                        Console.WriteLine("Dame la cantidad:");
                        opcion2 = Console.ReadLine();
                        decimal            cantidad       = Convert.ToDecimal(opcion2);
                        clsProductosPedido productoPedido = new clsProductosPedido(resultado[indice - 1],
                                                                                   Pedido.Cliente.Tipo,
                                                                                   cantidad);
                        Pedido.AgregaItem(productoPedido);
                    }
                    else
                    {
                        Console.WriteLine("No existen productos con el inicio {0}",
                                          opcion);
                        Console.ReadKey();
                    }
                }
            }
        }
示例#5
0
 public bool BuscaPorClave(string clave, ref clsProductosCatalogo producto)
 {
     producto = new clsProductosCatalogo();
     return(Items.TryGetValue(clave, out producto));
 }