public ActionResult Reabastecer() { LinkedList <mFarmaco> vacios = new LinkedList <mFarmaco>(); using (var archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (var archivolec = new StreamReader(archivo)) { string lector = archivolec.ReadLine(); int posicion = lector.Length + 2; lector = archivolec.ReadLine(); while (lector != null) { Regex regx = new Regex("," + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); string[] cajatext = regx.Split(lector); mFarmaco Debe_Recargarse = new mFarmaco(); Debe_Recargarse.Nombre = cajatext[1]; int dispo = int.Parse(cajatext[(cajatext.Length - 1)]); Debe_Recargarse.Linea = posicion; posicion += lector.Length + 2; if (dispo == 0) { vacios.AddFirst(Debe_Recargarse); } lector = archivolec.ReadLine(); } } } return(View("Reabastecer", vacios)); }
public ActionResult Busqueda(string Texto) { try { mFarmaco farmaco = new mFarmaco(); farmaco.Nombre = Texto; farmaco = Caja_arbol.Instance.arbolFarm.Buscar(farmaco, mFarmaco.ComparName); int linea_buscad = farmaco.Linea; string info_farmaco = ""; using (FileStream archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (StreamReader lector = new StreamReader(archivo)) { archivo.Seek(linea_buscad, SeekOrigin.Begin); info_farmaco = lector.ReadLine(); } } Regex regx = new Regex("," + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); string[] infor_separada = regx.Split(info_farmaco); ViewBag.Nombre = infor_separada[1]; ViewBag.Descripción = infor_separada[2]; ViewBag.Productora = infor_separada[3]; ViewBag.Precio = infor_separada[4]; ViewBag.Existencia = infor_separada[5]; CarritoCompra.Instance.quizascompra = infor_separada[1]; if (CarritoCompra.Instance.total < 0) { CarritoCompra.Instance.total = 0; } ViewBag.TotalCompra = CarritoCompra.Instance.total; return(View("BuscarFarmaco", CarritoCompra.Instance.carrito)); } catch { if (CarritoCompra.Instance.total < 0) { CarritoCompra.Instance.total = 0; } ViewBag.TotalCompra = CarritoCompra.Instance.total; return(View("BuscarFarmaco", CarritoCompra.Instance.carrito)); } }
public ActionResult Recargar(int id) { int posicion = 0; Random Rnd = new Random(); int dispo = Rnd.Next(1, 15); mFarmaco nuevo_reabastecido = new mFarmaco(); using (var archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (var archivolec = new StreamReader(archivo)) { archivo.Seek(id, SeekOrigin.Begin); string lector = archivolec.ReadLine(); Regex regx = new Regex("," + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); string[] cajatext = regx.Split(lector); nuevo_reabastecido.Nombre = cajatext[1]; nuevo_reabastecido.Linea = id; if (dispo > 0) { Caja_arbol.Instance.arbolFarm.Agregar(nuevo_reabastecido, mFarmaco.ComparName); } posicion = id + lector.Length - 2; } } using (var arch = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (StreamWriter escritor = new StreamWriter(arch)) { arch.Seek(posicion, SeekOrigin.Begin); string existencia_actual = Convert.ToString(dispo); if (existencia_actual.Length < 2) { existencia_actual = "0" + existencia_actual; } escritor.WriteLine(existencia_actual); } } return(Reabastecer()); }
public ActionResult Carga(HttpPostedFileBase postedFile) { string directarchivo = string.Empty; if (postedFile != null) { string path = Server.MapPath("~/Cargas/"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } directarchivo = path + Path.GetFileName(postedFile.FileName); postedFile.SaveAs(directarchivo); Caja_arbol.Instance.direccion_archivo_arbol = directarchivo; } //Modificación de los digitos de la exitencia List <string[]> texto = new List <string[]>(); using (var archivo = new FileStream(directarchivo, FileMode.Open)) { using (var archivolec = new StreamReader(archivo)) { string lector = archivolec.ReadLine(); while (lector != null) { Regex regx = new Regex("," + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); string[] infor_separada = regx.Split(lector); if (infor_separada[infor_separada.Length - 1].Length < 2) { infor_separada[infor_separada.Length - 1] = "0" + infor_separada[infor_separada.Length - 1]; } lector = archivolec.ReadLine(); texto.Add(infor_separada); } } } using (var archivo = new FileStream(directarchivo, FileMode.Open)) { using (var escritor = new StreamWriter(archivo)) { for (int j = 0; j < texto.Count; j++) { string texual = texto[j].ToString(); string[] contenedor = texto[j]; string textocompleto = contenedor[0]; for (int ax = 1; ax < contenedor.Length; ax++) { textocompleto += "," + contenedor[ax]; } escritor.WriteLine(textocompleto); } } } //Carga de datos al arbol using (var archivo = new FileStream(directarchivo, FileMode.Open)) { using (var archivolec = new StreamReader(archivo)) { string lector = archivolec.ReadLine(); int posicion = lector.Length + 2; lector = archivolec.ReadLine(); while (lector != null) { int pos = int.Parse(archivo.Position.ToString()); string[] cajatext = lector.Split(Convert.ToChar(",")); mFarmaco nuevo = new mFarmaco(); nuevo.Nombre = cajatext[1]; int dispo = int.Parse(cajatext[(cajatext.Length - 1)]); nuevo.Linea = posicion; posicion += lector.Length + 2; if (dispo > 0) { Caja_arbol.Instance.arbolFarm.Agregar(nuevo, mFarmaco.ComparName); } lector = archivolec.ReadLine(); } } } return(View("Index")); }
public ActionResult Delete(string id) { try { mCompraFarmaco farmaco = new mCompraFarmaco(); foreach (var item in CarritoCompra.Instance.carrito) { if (item.Nombre == id) { farmaco = item; } } mFarmaco drug = new mFarmaco(); drug.Nombre = id; drug = Caja_arbol.Instance.arbolFarm.Buscar(drug, mFarmaco.ComparName); int linea_buscad = 0; string[] infor_separada = new string[7]; if (drug != null) { linea_buscad = drug.Linea; string info_farmaco = ""; using (FileStream archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (StreamReader lector = new StreamReader(archivo)) { archivo.Seek(linea_buscad, SeekOrigin.Begin); info_farmaco = lector.ReadLine(); linea_buscad += info_farmaco.Length; } } Regex regx = new Regex("," + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); infor_separada = regx.Split(info_farmaco); } else { using (FileStream archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (var archivolec = new StreamReader(archivo)) { bool Encontrado = false; string lector = archivolec.ReadLine(); int posicion = lector.Length + 2; lector = archivolec.ReadLine(); while (lector != null && !Encontrado) { string[] cajatext = lector.Split(Convert.ToChar(",")); mFarmaco nuevo = new mFarmaco(); nuevo.Nombre = cajatext[1]; nuevo.Linea = posicion; posicion += lector.Length + 2; if (nuevo.Nombre == id) { Caja_arbol.Instance.arbolFarm.Agregar(nuevo, mFarmaco.ComparName); Encontrado = true; linea_buscad = nuevo.Linea + lector.Length; infor_separada[infor_separada.Length - 1] = "00"; } lector = archivolec.ReadLine(); } } } } //Se procede a la agregacion del producto regresado a la exitencia using (var archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (var escritor = new StreamWriter(archivo)) { int posicion_existencia = linea_buscad - infor_separada[infor_separada.Length - 1].Length; archivo.Seek(posicion_existencia, SeekOrigin.Begin); string existencia_actual = Convert.ToString(int.Parse(infor_separada[infor_separada.Length - 1]) + farmaco.Cantidad); if (existencia_actual.Length < 2) { existencia_actual = "0" + existencia_actual; } escritor.WriteLine(existencia_actual); } } CarritoCompra.Instance.carrito.Remove(farmaco); CarritoCompra.Instance.total = CarritoCompra.Instance.total - farmaco.Subtotal; if (CarritoCompra.Instance.total < 0) { CarritoCompra.Instance.total = 0; } ViewBag.TotalCompra = CarritoCompra.Instance.total; return(View("BuscarFarmaco", CarritoCompra.Instance.carrito)); } catch { return(View("BuscarFarmaco", CarritoCompra.Instance.carrito)); } }
public ActionResult Agregar(string cantidad) { try { mFarmaco farmaco = new mFarmaco(); farmaco.Nombre = CarritoCompra.Instance.quizascompra; farmaco = Caja_arbol.Instance.arbolFarm.Buscar(farmaco, mFarmaco.ComparName); int linea_buscad = farmaco.Linea; string info_farmaco = ""; using (FileStream archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (StreamReader lector = new StreamReader(archivo)) { archivo.Seek(linea_buscad, SeekOrigin.Begin); info_farmaco = lector.ReadLine(); linea_buscad += info_farmaco.Length; } } Regex regx = new Regex("," + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); string[] infor_separada = regx.Split(info_farmaco); if (int.Parse(cantidad) <= int.Parse(infor_separada[infor_separada.Length - 1])) { mCompraFarmaco FarmacoNuevo = new mCompraFarmaco(); FarmacoNuevo.Nombre = infor_separada[1]; string delsimb = infor_separada[4]; var precio_simb = ""; for (int i = 1; i < delsimb.Length; i++) { precio_simb += delsimb[i]; } FarmacoNuevo.Precio_uni = double.Parse(precio_simb); FarmacoNuevo.Cantidad = int.Parse(cantidad); FarmacoNuevo.Subtotal = FarmacoNuevo.Precio_uni * int.Parse(cantidad); CarritoCompra.Instance.carrito.AddFirst(FarmacoNuevo); CarritoCompra.Instance.total += FarmacoNuevo.Subtotal; //Se procede a la eliminación de producto comprado en la exitencia using (var archivo = new FileStream(Caja_arbol.Instance.direccion_archivo_arbol, FileMode.Open)) { using (var escritor = new StreamWriter(archivo)) { int posicion_existencia = linea_buscad - infor_separada[infor_separada.Length - 1].Length; archivo.Seek(posicion_existencia, SeekOrigin.Begin); string existencia_actual = Convert.ToString(int.Parse(infor_separada[infor_separada.Length - 1]) - int.Parse(cantidad)); if (existencia_actual.Length < 2) { existencia_actual = "0" + existencia_actual; } escritor.WriteLine(existencia_actual); if (int.Parse(existencia_actual) == 0) { Caja_arbol.Instance.arbolFarm.Eliminar(farmaco, mFarmaco.ComparName); } } } } if (CarritoCompra.Instance.total < 0) { CarritoCompra.Instance.total = 0; } ViewBag.TotalCompra = CarritoCompra.Instance.total; return(View("BuscarFarmaco", CarritoCompra.Instance.carrito)); } catch { if (CarritoCompra.Instance.total < 0) { CarritoCompra.Instance.total = 0; } ViewBag.TotalCompra = CarritoCompra.Instance.total; return(View("BuscarFarmaco", CarritoCompra.Instance.carrito)); } }