コード例 #1
0
 public IActionResult ImportarCSV(IFormFile ArchivoCSV)
 {
     if (ArchivoCSV != null)
     {
         if (ArchivoCSV.FileName.Contains(".csv"))
         {
             using (var reader = new StreamReader(ArchivoCSV.OpenReadStream()))
             {
                 string archivolineas = reader.ReadToEnd().Remove(0, 57);
                 foreach (string linea in archivolineas.Split("\n"))
                 {
                     if (!string.IsNullOrEmpty(linea))
                     {
                         Regex    CSVParser = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");
                         String[] Fields    = CSVParser.Split(linea);
                         for (int i = 0; i < Fields.Length; i++)
                         {
                             Fields[i] = Fields[i].TrimStart(' ', '"');
                             Fields[i] = Fields[i].TrimEnd('"');
                         }
                         if (Fields[4].Contains("$"))
                         {
                             Fields[4] = Fields[4].TrimStart('$', ' ');
                         }
                         if (Fields[5].Contains("\r"))
                         {
                             Fields[5] = Fields[5].Remove(Fields[5].Length - 1, 1);
                         }
                         Farmacos   Farmaco      = new Farmacos();
                         DatosArbol FarmacoArbol = new DatosArbol();
                         FarmacoArbol.IdA        = Convert.ToInt32(Fields[0]);
                         FarmacoArbol.NombreA    = Fields[1];
                         Farmaco.Id              = Convert.ToInt32(Fields[0]);
                         Farmaco.Nombre          = Fields[1];
                         Farmaco.Descripcion     = Fields[2];
                         Farmaco.Casa_productora = Fields[3];
                         Farmaco.Precio          = Convert.ToDouble(Fields[4]);
                         Farmaco.Existencia      = Convert.ToInt32(Fields[5]);
                         ListaArtesanalFarmacos.AddArtesanal(Farmaco);
                         Singleton.Instance.ArbolFarmacos.AddArbol(FarmacoArbol, FarmacoArbol.OrdenarPorNombreArbol);
                         ArbolAVLFarmaco.AddArbol(FarmacoArbol, FarmacoArbol.OrdenarPorNombreArbol);
                     }
                     else
                     {
                         break;
                     }
                 }
             }
             return(RedirectToAction(nameof(MostrarIndice)));
         }
         else
         {
             return(View("ImportarCSV"));
         }
     }
     else
     {
         return(View("ImportarCSV"));
     }
 }
コード例 #2
0
 public void ReabastecerProductos()
 {
     foreach (var item in SinExistencia)
     {
         int      numero;
         Farmacos producto = new Farmacos();
         int      id       = item.Id;
         producto.Id = id;
         producto    = ListaArtesanalFarmacos.BuscarIdArtesanal(producto.OrdenarPorId, producto);
         Random rdn = new Random();
         numero = rdn.Next(1, 15);
         producto.Existencia = numero;
         DatosArbol ProductoArbol = new DatosArbol();
         ProductoArbol.IdA     = item.Id;
         ProductoArbol.NombreA = item.Nombre;
         ArbolAVLFarmaco.AddArbol(ProductoArbol, ProductoArbol.OrdenarPorNombreArbol);
         Singleton.Instance.ArbolFarmacos.AddArbol(ProductoArbol, ProductoArbol.OrdenarPorNombreArbol);
     }
     SinExistencia = new ListaArtesanal <Farmacos>();
 }
コード例 #3
0
        public ActionResult BuscarProducto(string TextoBusqueda)
        {
            DatosArbol buscarfarmaco = new DatosArbol();

            buscarfarmaco.NombreA = TextoBusqueda;
            buscarfarmaco         = ArbolAVLFarmaco.SearchFarmaco(buscarfarmaco, buscarfarmaco.OrdenarPorNombreArbol);

            if (buscarfarmaco != null)
            {
                //Encontro el producto, para agregarlo

                BuscarF(buscarfarmaco.IdA);
                return(View("ProductoAComprar"));
            }
            else
            {
                //Lista artesanal
                ViewBag.Farmacos = Singleton.Instance.ListaPedido;
                return(View("RealizarPedido", DatosPedidoNuevo));
            }
        }
コード例 #4
0
        public ActionResult Edit(int id, IFormCollection collection)
        {
            DatosArbol editar = new DatosArbol();

            editar.NombreA = collection["Nombre"];
            editar         = ArbolAVLFarmaco.SearchFarmaco(editar, editar.OrdenarPorNombreArbol);
            int      cantidad     = Convert.ToInt32(collection["Existencia"]);
            Farmacos editar_lista = new Farmacos();

            editar_lista.Existencia = Convert.ToInt32(collection["Existencia"]);
            //BuscarF(editar.IdA);
            editar_lista.Id = editar.IdA;
            editar_lista    = ListaArtesanalFarmacos.BuscarIdArtesanal(editar_lista.OrdenarPorId, editar_lista);

            if (editar != null)
            {
                if (cantidad <= editar_lista.Existencia && cantidad >= 0)
                {
                    editar_lista.Existencia      = editar_lista.Existencia - cantidad;
                    editar_lista.Cantidad        = cantidad;
                    preciopagar                  = DatosPedidoNuevo.Preciototal + Convert.ToDouble((editar_lista.Precio * editar_lista.Cantidad));
                    DatosPedidoNuevo.Preciototal = preciopagar;
                    Singleton.Instance.ListaPedido.AddArtesanal(editar_lista);
                    ViewBag.Farmacos = Singleton.Instance.ListaPedido;

                    if (editar_lista.Existencia == 0)
                    {
                        ArbolAVLFarmaco.EliminarFarmaco(editar, editar.OrdenarPorNombreArbol);
                        ArbolAVLFarmaco.contador--;
                        Singleton.Instance.ArbolFarmacos.EliminarFarmaco(editar, editar.OrdenarPorNombreArbol);
                        SinExistencia.AddArtesanal(editar_lista);
                        DatosPedidoNuevo.Preciototal = preciopagar;
                    }
                }
                else
                {
                    //mensaje de error si quiere comprar mas de las existencias
                    DatosPedidoNuevo.Preciototal = preciopagar;
                    return(View("CompraNegada"));
                }
            }

            try
            {
                var newClient = new Models.DatosPedidos
                {
                    NombreCliente = collection["NombreCliente"],
                    Nit           = Convert.ToInt32(collection["Nit"]),
                    Direccion     = collection["Direccion"],
                    Preciototal   = Math.Round(Convert.ToDouble(DatosPedidoNuevo.Preciototal), 2, MidpointRounding.AwayFromZero)
                };

                return(View("RealizarPedido", DatosPedidoNuevo));
            }
            catch
            {
                return(View());
            }

            return(View("RealizarPedido", DatosPedidoNuevo));
        }