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")); } }
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)); }