Вы находитесь на странице: 1из 6

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int op;
List<Libro> Libros = new List<Libro>();
List<Venta> Ventas = new List<Venta>();
LeerLibros(Libros);
LeerVentas(Ventas);
do
{
Console.Clear();
op=Interfaz();
switch(op)
{
case 1:
RegistraLibro(Libros);
break;
case 2:
BuscarLibro(Libros);
break;
case 3:
VentaLibros(Ventas,Libros);
break;
case 4:
ReporteVentas(Ventas);
break;
}
Console.ReadKey();
}while(op!=5);
GuardarLibros(Libros);
GuardarVentas(Ventas);
}
static int Interfaz()
{
Console.WriteLine("\n\n\t\t\tSISTEMA DE LIBRERIA MOCITO");
Console.WriteLine("\t\t\t==============================");
Console.WriteLine("\t\t\t1. Registro de Libro");
Console.WriteLine("\t\t\t2. Buscar de Libro");
Console.WriteLine("\t\t\t3. Venta de Libro");
Console.WriteLine("\t\t\t4. Reporte de Ventas");
Console.WriteLine("\t\t\t5. Finalizar Aplicacion");
Console.Write("\n\t\t\tEliga Opcion: ");
return int.Parse(Console.ReadLine());
}
static void RegistraLibro(List<Libro> Libros)
{
int correlativo=Libros.Count+1;
Libro libro=new Libro();
libro.Codigo="LIB-000"+correlativo;
Console.WriteLine("\n\n\t\tCodigo: "+libro.Codigo);
Console.Write("\t\tDescripsion: "); libro.Descripsion=Console.ReadLi
ne();
Console.Write("\t\tAutor: "); libro.Autor = Console.ReadLine();
Console.Write("\t\tPrecio: "); libro.Precio = double.Parse(Console.R
eadLine());
Console.Write("\t\tCantidad: "); libro.Cantidad = int.Parse(Console.
ReadLine());
Libros.Add(libro);
Console.WriteLine("\n\t\tRegistrado Correctamente :)");
Console.WriteLine("\n\t\tLa Libreria Ahora cuenta con "+Libros.Count
+" Libros");
}
static void BuscarLibro(List<Libro> Libros)
{
string criterio = "";
bool encontrado = false;
int op;
Console.Write("\n\t\t1. Descipsion\t\t2. Por Autor");
Console.Write("\n\t\tEliga Opcion: ");
op = int.Parse(Console.ReadLine());
Console.Write("\t\tIngrese Lo que va a buscar:");
criterio = Console.ReadLine();
foreach (Libro Libro in Libros)
{
if(Libro.Buscar(criterio,op)==true)
{ Libro.Imprimir(); encontrado = true; }
}
if (encontrado == false)
{ Console.WriteLine("\n\tLibro No Encontrado"); }
}
static void VentaLibros(List<Venta> Ventas, List<Libro> Libros)
{
Venta venta = new Venta();
string codigolibro;
int cantidad;
bool encontrado = false;
Console.WriteLine("\n\t\tIngrese Codido de Libro a Comprar: ");
codigolibro = Console.ReadLine();
foreach (Libro libro in Libros)
{
if (libro.Codigo == codigolibro)
{
Console.WriteLine("\n\t\t"+libro.Descripsion+", Cuentas S/."
+libro.Precio);
Console.Write("\n\t\tIngrese la Cantidad que desea de este L
ibro: ");cantidad = int.Parse(Console.ReadLine());
if (cantidad <= libro.Cantidad)
{
libro.Cantidad = libro.Cantidad - cantidad;//actualiza c
antidad de libro (Stock)
venta.CodigoVen = codigolibro;
venta.Total = libro.Precio * cantidad;
venta.Fecha = DateTime.Now;
Console.WriteLine("\n\n\t\tSe registro la Venta! ");
Console.WriteLine("\n\t\tTotal a Pagar es S/. " + venta.
Total);
Console.WriteLine("\t\tLa Venta se realizo el: " + vent
a.Fecha);
Ventas.Add(venta);
}
else
Console.WriteLine("\n\t\tStock Insuficiente del Libro");
encontrado = true;
break;
}
}
if (encontrado == false)
{ Console.WriteLine("\n\tLibro No Encontrado"); }
}
static void ReporteVentas(List<Venta> Ventas)
{
if (Ventas.Count > 0)
{
Console.WriteLine("\n\n\t\tReporte de ventas");
Console.WriteLine("\t\t=====================");
foreach (Venta venta in Ventas)
{
venta.Reporte();
}
}
else
Console.WriteLine("\t\tNo se registraron ventas a la fecha :(");
}
static void LeerLibros(List<Libro> Libros)
{
string linea;
int i;
Libro libro;
using (StreamReader archivo = new StreamReader("E:\\Junior\\Libros.t
xt"))
{
while ((linea = archivo.ReadLine()) != null)
{
libro = new Libro();
i = linea.IndexOf('|');
libro.Codigo = linea.Substring(0,i);
linea = linea.Substring(i+1);
i = linea.IndexOf('|');
libro.Descripsion = linea.Substring(0, i);
linea = linea.Substring(i + 1);
i = linea.IndexOf('|');
libro.Autor = linea.Substring(0, i);
linea = linea.Substring(i + 1);
i = linea.IndexOf('|');
libro.Precio = double.Parse(linea.Substring(0, i));
linea = linea.Substring(i + 1);
i = linea.IndexOf('|');
libro.Cantidad = int.Parse(linea.Substring(0, i));
linea = linea.Substring(i + 1);
Libros.Add(libro);
}
}
}
static void LeerVentas(List<Venta> Ventas)
{
string linea;
int i;
Venta venta;
using (StreamReader archivo = new StreamReader("E:\\Junior\\Ventas.t
xt"))
{
while ((linea = archivo.ReadLine()) != null)
{
venta = new Venta();
i = linea.IndexOf('|');
venta.CodigoVen = linea.Substring(0,i);
linea = linea.Substring(i+1);
i = linea.IndexOf('|');
venta.Total = double.Parse(linea.Substring(0, i));
linea = linea.Substring(i + 1);
i = linea.IndexOf('|');
venta.Fecha = DateTime.Parse(linea.Substring(0, i));
linea = linea.Substring(i + 1);
Ventas.Add(venta);
}
}
}
static void GuardarLibros(List<Libro> Libros)
{
string linea;
StreamWriter archivo = File.CreateText("E:\\Junior\\Libros.txt");

foreach (Libro libro in Libros)
{
linea = libro.Codigo + "|" + libro.Descripsion + "|" + libro
.Precio + "|" + libro.Cantidad + "|";
archivo.Write(linea.ToString());
archivo.Write(archivo.NewLine);
} archivo.Flush(); archivo.Close();


}
static void GuardarVentas(List<Venta> Ventas)
{
string linea;
StreamWriter archivo = File.CreateText("E:\\Junior\\Ventas.txt");
foreach (Venta venta in Ventas)
{
linea = venta.CodigoVen + "|" + venta.Total + "|" + venta.Fecha
+ "|";
archivo.Write(linea.ToString());
archivo.Write(archivo.NewLine);
} archivo.Flush(); archivo.Close();
}
}
class Libro
{
string codigo;
string descripsion;
string autor="Anonimo";
double precio;
int cantidad=1;
public string Codigo
{ set { codigo = value; } get { return codigo; } }
public string Descripsion
{ set { descripsion = value; } get { return descripsion; } }
public string Autor
{ set { autor = value; } get { return autor; } }
public double Precio
{ set { precio = value; } get { return precio;} }
public int Cantidad
{ set { cantidad = value; } get { return cantidad; } }
public bool Buscar(string criterio, int op)
{
bool encontrado=false;
switch (op)
{
case 1:
if (descripsion == criterio)
encontrado = true;
break;
case 2:
if (autor==criterio)
encontrado = true;
break;
}
return encontrado;
}
public void Imprimir()
{
Console.WriteLine("\t\tCodigo: " + codigo);
Console.WriteLine("\t\tDescripsion: "+descripsion);
Console.WriteLine("\t\tAutor: " + autor);
Console.WriteLine("\t\tPrecio:S/. " +precio);
Console.WriteLine("\t\tCantidad: " + cantidad);
}
}
class Venta
{
string codigoven;
double total;
DateTime fecha;
public string CodigoVen
{ set { codigoven = value; } get { return codigoven; } }
public double Total
{ set { total = value; } get { return total; } }
public DateTime Fecha
{ set { fecha = value; } get { return fecha; } }
public void Reporte()
{
Console.WriteLine("\t\tCodigo del Libro vendido: " +codigoven);
Console.WriteLine("\t\tTotal a Pagar: S/. " + total);
Console.WriteLine("\t\tFecha de la Venta: " + fecha);
}
}
}

Вам также может понравиться