예제 #1
0
        public IActionResult AgregarBuscarMedicina(string SSearch)
        {
            ViewData["CurrentFilterSearch"] = SSearch;
            Singleton.Instance.NuevaListaCliente.Clear();
            InventarioMedicina InfoTotalMedicina = new InventarioMedicina();

            if (SSearch != null)
            {
                DelegadoString   InvocarNombreuscar = new DelegadoString(LlamadoMedBinario.CompareString);
                MedicinasBinario Buscado            = Singleton.Instance.AccesoArbol.Buscar(SSearch, InvocarNombreuscar);
                if (Buscado == default)
                {
                    DelegadoInventario delegadoInventario = new DelegadoInventario(LLamadoInventario.CompareName);
                    InventarioMedicina NodoCantidad0      = Singleton.Instance.ListaMedicina.Buscar(Singleton.Instance.ListaMedicina.Header, SSearch, delegadoInventario);
                    Singleton.Instance.NuevaListaCliente.Add(NodoCantidad0);
                }
                else
                {
                    InfoTotalMedicina = Buscado.Posicion.Data;
                    InventarioMedicina NuevoJuga = new InventarioMedicina
                    {
                        NombreMedicina = InfoTotalMedicina.NombreMedicina,
                        Id             = InfoTotalMedicina.Id,
                        Descripcion    = InfoTotalMedicina.Descripcion,
                        CasaProductora = InfoTotalMedicina.CasaProductora,
                        Precio         = InfoTotalMedicina.Precio,
                        Existencia     = InfoTotalMedicina.Existencia
                    };
                    Singleton.Instance.NuevaListaCliente.Add(NuevoJuga);
                }
            }

            //Mostrar InfoTotalMedicina si fue encontrado
            return(View(Singleton.Instance.NuevaListaCliente));
        }
예제 #2
0
        public IActionResult Abastecer()//Abastecer los medicamnetos iguales a 0, a un numero random
        {
            Singleton.Instance.Nueva.Clear();
            try
            {
                while (Singleton.Instance.contadorCero == 0)
                {
                    DelegadoInventario InvocarExistencia = new DelegadoInventario(LLamadoInventario.CompareExistencia);
                    InventarioMedicina NodoBuscado       = Singleton.Instance.ListaMedicina.Buscar(Singleton.Instance.ListaMedicina.Header, "0", InvocarExistencia);

                    Random rnd        = new Random();
                    int    numerorand = rnd.Next(1, 15);
                    NodoBuscado.Existencia = numerorand;
                    Nodo <InventarioMedicina> Direccion    = Singleton.Instance.ListaMedicina.AddHead(NodoBuscado);
                    MedicinasBinario          IngresoArbol = new MedicinasBinario
                    {
                        Nombre   = NodoBuscado.NombreMedicina,
                        Posicion = Direccion
                    };
                    Delagados InvocarNombre = new Delagados(LlamadoMedBinario.CompareToNombre);
                    Singleton.Instance.AccesoArbol.Add(IngresoArbol, InvocarNombre);
                    Singleton.Instance.contadorCero--;
                }
                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                return(RedirectToAction("Index"));
            }
        }
예제 #3
0
        public IActionResult CreateCSV(InventarioMedicina model)
        {
            string uniqueFileName = null;

            if (model.FileC != null)
            {
                string uploadsFolder = Path.Combine(hostingEnvironment.WebRootPath, "Upload");
                uniqueFileName = model.FileC.FileName;
                string filepath = Path.Combine(uploadsFolder, uniqueFileName);
                if (!System.IO.File.Exists(filepath))
                {
                    using (var INeadLearn = new FileStream(filepath, FileMode.CreateNew))
                    {
                        model.FileC.CopyTo(INeadLearn);
                    }
                }

                string ccc = System.IO.File.ReadAllText(filepath);
                foreach (string row in ccc.Split('\n'))
                {
                    if (!string.IsNullOrEmpty(row))
                    {
                        if (row.Split(',')[0] != "id")
                        {
                            var result = Regex.Split(row, "(?:^|,)(\"(?:[^\"]+|\"\")*\"|[^,]*)");
                            InventarioMedicina Nuevo = new InventarioMedicina {
                                NombreMedicina = Convert.ToString(result[3]).Replace('"', ' '),
                                Id             = Convert.ToString(result[1]),
                                Descripcion    = Convert.ToString(result[5]).Replace('"', ' '),
                                CasaProductora = Convert.ToString(result[7]).Replace('"', ' '),
                                Precio         = Convert.ToString(result[9]),
                                Existencia     = Convert.ToInt32(result[11])
                            };
                            Nodo <InventarioMedicina> Direccion    = Singleton.Instance.ListaMedicina.AddHead(Nuevo);
                            MedicinasBinario          IngresoArbol = new MedicinasBinario
                            {
                                Nombre   = Convert.ToString(result[3]).Replace('"', ' '),
                                Posicion = Direccion
                            };
                            if (Convert.ToInt32(result[11]) != 0)
                            {
                                Delagados InvocarNombre = new Delagados(LlamadoMedBinario.CompareToNombre);
                                Singleton.Instance.AccesoArbol.Add(IngresoArbol, InvocarNombre);
                                Singleton.Instance.contadorCero++;
                            }
                        }
                    }
                }
                return(RedirectToAction("IngresoPedido"));
            }
            return(View());
        }
예제 #4
0
        public IActionResult AceptarCarrito()//codigo donde se aceptan los cambios del carrito
        {
            foreach (NodoCarrito Cambios in Singleton.Instance.Carrito)
            {
                DelegadoString   InvocarNombreuscar = new DelegadoString(LlamadoMedBinario.CompareString);
                MedicinasBinario Buscado            = Singleton.Instance.AccesoArbol.Buscar(Cambios.Nombre, InvocarNombreuscar);

                InventarioMedicina NodoBuscado = Buscado.Posicion.Data;

                InventarioMedicina NuevoNodo = NodoBuscado;
                NuevoNodo.Existencia = NuevoNodo.Existencia - Cambios.Cantidad;

                DelegadoInventario delegadoInventario = new DelegadoInventario(LLamadoInventario.CompareName);

                Singleton.Instance.ListaMedicina.Modificar(Singleton.Instance.ListaMedicina.Header, Cambios.Nombre, NuevoNodo, delegadoInventario);

                if (medicamentostotales != null)
                {
                    medicamentostotales += "," + Cambios.Nombre;
                }
                else
                {
                    medicamentostotales = Cambios.Nombre;
                }
                string a      = Buscado.Posicion.Data.Precio.Replace("$", string.Empty);
                double precio = Convert.ToDouble(a.ToString());
                SumaTotal += Cambios.Cantidad * precio;
                if (medicamentostotales != null)
                {
                    medicamentostotales += "," + Cambios.Nombre;
                }
                else
                {
                    medicamentostotales = Cambios.Nombre;
                }
                if (NuevoNodo.Existencia <= 0)
                {
                    DelegadoString ComparacionBorrar = new DelegadoString(LlamadoMedBinario.CompareString);
                    Singleton.Instance.AccesoArbol.Eliminar(Buscado.Nombre, ComparacionBorrar);
                    if (NuevoNodo.Existencia == 0)
                    {
                        Singleton.Instance.contadorCero++;
                    }
                }
            }
            return(RedirectToAction("OrdenCliente"));
        }