public static List <DetalleFacturacion> LeerFacturacion() { var reader = new StreamReader(File.OpenRead(@"BD\2_facturacion_comercial.csv")); List <DetalleFacturacion> list = new List <DetalleFacturacion>(); var line = reader.ReadLine(); //Cabecera while (!reader.EndOfStream) { line = reader.ReadLine(); var values = line.Split(','); int numComercial = int.Parse(values[0]); int numEmpresa = int.Parse(values[1]); int[] listaFacturacion = new int[12]; for (int i = 2; i < 14; i++) { listaFacturacion[i - 2] = int.Parse(values[i]); } DetalleFacturacion unDetalleFacturacion = new DetalleFacturacion(numComercial, numEmpresa, listaFacturacion); list.Add(unDetalleFacturacion); } return(list); }
public ActionResult Facturacion(FacturacionVM f) { using (var dc = new DataContext()) { var queryStock = dc.Stocks .Where(p => p.ProductoID .Equals(f.ProductoID)) .Select(p => p.Existencia) .FirstOrDefault() .ToString(); if (int.Parse(queryStock) < f.Cantidad) { return(RedirectToAction("FacturacionError")); } else { var queryStocks = dc.Stocks.Where(st => st.ProductoID.Equals(f.ProductoID)); var queryNombreCliente = from c in dc.Clientes where c.ID.Equals(f.ClienteID) select c.Nombre; var qNC = queryNombreCliente.FirstOrDefault().ToString(); var queryNombreProducto = from p in dc.Productos where p.ID.Equals(f.ProductoID) select p.Nombre; var qNP = queryNombreProducto.FirstOrDefault().ToString(); var factura = new Facturacion() { ClienteID = f.ClienteID, NombreCliente = qNC, Fecha = DateTime.Now }; var detalleFact = new DetalleFacturacion() { FacturacionID = factura.ID, ProductoID = f.ProductoID, NombreProducto = qNP, Cantidad = f.Cantidad, Total = Total(f.ClienteID, f.ProductoID, f.Cantidad), Descuento = Descuento(f.ProductoID, f.ClienteID, f.Cantidad) //Descuento = double.Parse(Descuento(f.ClienteID)), }; foreach (var i in queryStocks) { i.Existencia -= f.Cantidad; } dc.Facturaciones.Add(factura); dc.DetalleFacturaciones.Add(detalleFact); dc.SaveChanges(); ViewBag.Clientes = dc.Clientes.ToList(); ViewBag.Productos = dc.Productos.ToList(); var tablaFactura = dc.Facturaciones.ToList(); ViewBag.tablaFactura = tablaFactura; return(View()); } } }
public int[] FacturacionPorEmpresa(int numComercial, int numEmpresa) { List <DetalleFacturacion> listaDetalles = LeerFacturacion(); int[] facturacion = new int[12]; for (int i = 0; i < listaDetalles.Count; i++) { DetalleFacturacion unDetalle = listaDetalles[i]; if (unDetalle.NumComercial == numComercial) { if (unDetalle.NumEmpresa == numEmpresa) { return(facturacion = unDetalle.Arrayfacturacion); } } } return(facturacion); }