Пример #1
0
        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));
        }
Пример #2
0
 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));
     }
 }
Пример #3
0
        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());
        }
Пример #4
0
        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"));
        }
Пример #5
0
        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));
            }
        }
Пример #6
0
        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));
            }
        }