public IHttpActionResult GetBuscarCodigo(bool conStock, string codigo, int cliente) { try { ServiciosProductos servicio = new ServiciosProductos(); ProductoList productoList = null; productoList = servicio.ProductoListarCarrito(conStock, -1, codigo, cliente, -1, -1); Producto resp = productoList.Productos.Find(item => item.Codigo.Equals(codigo.ConvertirInt())); LoggerHelper.LogInfo(System.Reflection.MethodBase.GetCurrentMethod(), JsonConvert.SerializeObject(resp)); if (resp == null) { return(NotFound()); } return(Ok(resp)); } catch (Exception ex) { LoggerHelper.LogError(MethodBase.GetCurrentMethod(), ex); return(BadRequest(ex.GetExceptionOriginal().Message)); } }
public IHttpActionResult GetListarBusqueda(bool conStock, int subcategoria, string textoBuscar, int cliente, int numeroPagina, int cantidadRegistros) { try { ServiciosProductos servicio = new ServiciosProductos(); ServicioGenerico servGenerico = new ServicioGenerico(); string estamosEnMantenimiento = servGenerico.ParametroObtenerValor("HOST_EN_MANTENIMIENTO"); ProductoList resp = null; if (estamosEnMantenimiento.Equals("SI")) { resp = servicio.ProductoListarEstamosEnMantenimiento(); } else { resp = servicio.ProductoListarCarrito(conStock, subcategoria, textoBuscar, cliente, numeroPagina, cantidadRegistros); } //LoggerHelper.LogInfo(System.Reflection.MethodBase.GetCurrentMethod(), JsonConvert.SerializeObject(resp)); if (resp == null) { return(NotFound()); } return(Ok(resp)); } catch (Exception ex) { LoggerHelper.LogError(MethodBase.GetCurrentMethod(), ex); return(BadRequest(ex.GetExceptionOriginal().Message)); } }
public ProductoList ProductoListarEstamosEnMantenimiento() { ServicioGenerico servGenerico = new ServicioGenerico(); string url_host = servGenerico.ParametroObtenerValor("URL_HOST"); List <Producto> listProds = new List <Producto>(); listProds.Add(new Producto() { Id = 9999, Descripcion = "Estamos en mantenimiento", Vigente = true, Codigo = 9999, Stock = 1, StockPropio = true, FotoLink = string.Format("{0}{1}", url_host, "/assets/img/EnMantenimiento.png"), Subcategoria = new Subcategoria() { Id = 1, Descripcion = "Estamos en mantenimiento", Vigente = true, Carpeta = "", CantidadProductos = 1, DescripcionFull = "Estamos en mantenimiento", IdDescripcion = "1" }, ListaPrecio = new ListaPrecio() { Id = 6, Descripcion = "", Vigente = true, Codigo = "", Precio = 0, IdDescripcion = "" }, PrecioUnitarioFinal = 0, PrecioUnitarioProcesado = 0, MonedaVenta = "", ProductoPedido = false, CantidadPedido = 0, NroFila = 1, Path = "", IdTipo = 1, IdCategoria = 1, DescripcionTipo = "", DescripcionCategoria = "", DescripcionSubcategoria = "Estamos en mantenimiento", PrecioPorPeso = true, PrecioPorPieza = false, IdDescripcion = "" }); ProductoList listReturn = new ProductoList(); listReturn.TotalFilas = 1; listReturn.Productos = listProds; return(listReturn); }
public IDictionary ExportarListadoProductos(int idSubcategoria, int tipoListado) { ProductoList listProductos = this.ProductoListarABM(idSubcategoria, tipoListado, -1, -1); IDictionary datos = new Hashtable(); datos.Add("Listado", listProductos.Productos); return(datos); }
private IEnumerable <ProductoItemViewModel> ToProductoItemViewModel() { return(ProductoList.Select(p => new ProductoItemViewModel { idProducto = p.idProducto, idPresentacion = p.idPresentacion, cantidadFraccion = p.cantidadFraccion, codigoBarras = p.codigoBarras, codigoProducto = p.codigoProducto, controlSinStock = p.controlSinStock, descripcionCorta = p.descripcionCorta, descripcionLarga = p.descripcionLarga, enCategoriaEstrella = p.enCategoriaEstrella, enPortada = p.enPortada, enUso = p.enUso, estado = p.estado, idMarca = p.idMarca, idUnidadMedida = p.idUnidadMedida, keywords = p.keywords, limiteMaximo = p.limiteMaximo, limiteMinimo = p.limiteMinimo, mostrarPrecioWeb = p.mostrarPrecioWeb, mostrarVideo = p.mostrarVideo, mostrarWeb = p.mostrarWeb, nombreMarca = p.nombreMarca, nombreProducto = p.nombreProducto, nombreUnidad = p.nombreUnidad, precioCompra = p.precioCompra, urlVideo = p.urlVideo, ventaVarianteSinStock = p.ventaVarianteSinStock, nombre = p.nombre, codigo = p.codigo, EstadoString = p.EstadoString, precioVenta = p.precioVenta, stock = p.stock, stockFinanciero = p.stockFinanciero, idPresentacionAfectada = p.idPresentacionAfectada, idAlmacen = p.idAlmacen, nombreAlmacen = p.nombreAlmacen, IdPresentacionint = p.IdPresentacionint, IsVisiblePrecioVenta = (p.precioVenta != null), //IsVisiblePrecioCompra = (p.precioCompra != null), IsVisibleStock = (p.stock != null), BackgroundItem = (!p.estado) ? (Color)App.Current.Resources["AlertLight"] : Color.Transparent, TextColorItem = (!p.estado) ? (Color)App.Current.Resources["Alert"] : (Color)App.Current.Resources["grey"], })); }
public async Task <IEnumerable <Producto> > GetProductosAsync() { var resStr = await _client.GetStringAsync(""); ProductoList ArrP = JsonConvert.DeserializeObject <ProductoList>(resStr); List <Producto> ListPrdo = new List <Producto>(); for (int i = 0; i < ArrP.data.Count; i++) { ListPrdo.Add(new Producto { productoId = ArrP.data[i].productoId, nombreprod = ArrP.data[i].nombreprod, precio = ArrP.data[i].precio }); } IEnumerable <Producto> INumProd = ListPrdo; return(INumProd); }
public IHttpActionResult GetBuscar(string buscar, bool soloCodigo, int numeroPagina, int cantidadRegistros) { try { ServiciosProductos servicio = new ServiciosProductos(); ProductoList resp = servicio.ProductoBusqueda(buscar, soloCodigo, false, numeroPagina, cantidadRegistros); if (resp == null) { return(NotFound()); } return(Ok(resp)); } catch (Exception ex) { return(BadRequest(string.Format("ex.Message=>\n{0}\n\nex.InnerException=>\n{1}\n\nex.StackTrace=>\n{2}", ex.Message, (ex.InnerException != null ? ex.InnerException.Message : string.Empty), ex.StackTrace))); } }
public IHttpActionResult GetListarABM(int subcategoria, int tipoListado, int numeroPagina, int cantidadRegistros) { try { ServiciosProductos servicio = new ServiciosProductos(); ProductoList resp = servicio.ProductoListarABM(subcategoria, tipoListado, numeroPagina, cantidadRegistros); if (resp == null) { return(NotFound()); } return(Ok(resp)); } catch (Exception ex) { LoggerHelper.LogError(MethodBase.GetCurrentMethod(), ex); return(BadRequest(ex.GetExceptionOriginal().Message)); } }
protected override void SelectProductoAction() { ProductoList lista; lista = ProductoList.GetListBySerie(_serie.Oid, false, true); ProductoSelectForm form = new ProductoSelectForm(this, lista); form.ShowDialog(this); if (form.DialogResult == DialogResult.OK) { _producto = ProductoInfo.Get((form.Selected as ProductoInfo).Oid, true); Datos_Productos.DataSource = _producto; _entity.Cantidad = 1; Cantidad_NTB.Focus(); } }
private List <Producto> ProductoObtenerDelMayorista(bool conStock, int idSubcategoria, string textoBuscar, int idCliente) { ServicioGenerico servicio = new ServicioGenerico(); ProductoList prodsMayorista = null; List <Producto> listReturn = new List <Producto>(); string urlMayorista = servicio.ParametroObtenerValor("URL_MAYORISTA"); if (!string.IsNullOrEmpty(urlMayorista)) { try { string keyItem = string.Format("GetProductosMayorista{0}{1}{2}", conStock.ToString(), idSubcategoria.ToString(), textoBuscar); var prodsMayoristaCache = CacheManager.GetToCache <string>(gobalKeyCache, keyItem); if (prodsMayoristaCache == null) { if (textoBuscar == string.Empty) { textoBuscar = "1"; } urlMayorista += string.Format("api/producto/listarbusqueda/{0}/{1}/{2}/{3}/1/250", conStock, idSubcategoria, textoBuscar, idCliente); using (WebClient webClient = new WebClient()) { prodsMayoristaCache = webClient.DownloadString(urlMayorista); CacheManager.AddToCache(gobalKeyCache, keyItem, prodsMayoristaCache); } } if (prodsMayoristaCache != null) { prodsMayorista = JsonConvert.DeserializeObject <ProductoList>(prodsMayoristaCache); listReturn = prodsMayorista.Productos; listReturn.ForEach(item => item.StockPropio = false); } } catch (Exception ex) { throw new ApplicationException(string.Format("API Mayorista url: {0} - textoBuscar:{1}", urlMayorista, textoBuscar), ex); } } return(listReturn); }
public Producto ProductoObtenerDelMayorista(int codigo) { ServicioGenerico servicio = new ServicioGenerico(); ProductoList prodsMayorista = null; Producto prodReturn = null; string urlMayorista = servicio.ParametroObtenerValor("URL_MAYORISTA"); if (!string.IsNullOrEmpty(urlMayorista)) { urlMayorista += string.Format("api/producto/buscar/{0}/true/-1/-1", codigo.ToString()); using (WebClient webClient = new WebClient()) { var prodResponse = webClient.DownloadString(urlMayorista); prodsMayorista = JsonConvert.DeserializeObject <ProductoList>(prodResponse); if (prodsMayorista != null) { prodReturn = prodsMayorista.Productos[0]; } } } return(prodReturn); }
public ProductoList ProductoBusqueda(string buscar, bool soloCodigo, bool conStock, int numeroPagina, int cantidadRegistros) { ProductoRepository repository = new ProductoRepository(); List <Producto> listProdsTotal = new List <Producto>(); List <Producto> listProds = new List <Producto>(); if (soloCodigo) { listProdsTotal.Add(this.ObtenerObjeto <Producto>("Codigo", buscar.ConvertirInt())); listProds.Add(this.ObtenerObjeto <Producto>("Codigo", buscar.ConvertirInt())); } else { listProdsTotal = repository.BuscarProductos(buscar, conStock, false, numeroPagina, cantidadRegistros); listProds = repository.BuscarProductos(buscar, conStock, true, numeroPagina, cantidadRegistros); } ProductoList listReturn = new ProductoList(); listReturn.TotalFilas = listProdsTotal.Count; listReturn.Productos = listProds; return(listReturn); }
/// <summary> /// Asigna el objeto principal al origen de datos /// <returns>void</returns> /// </summary> public override void RefreshSecondaryData() { _productos = ProductoList.GetList(false); Bar.Grow(); }
public ProductoList ProductoListarCarrito(bool conStock, int idSubcategoria, string textoBuscar, int idCliente, int numeroPagina, int cantidadRegistros) { ServiciosPedido servPedido = new ServiciosPedido(); ServicioGenerico servGenerico = new ServicioGenerico(); ProductoRepository repository = new ProductoRepository(); List <Producto> listProds = new List <Producto>(); List <PedidoItem> pedidoItems = new List <PedidoItem>(); /* MONEDA_VENTA => Se parametriza desde el ABM de Cotizaciones * valores posibles * * PESO_ARGENTINO * * DOLAR_EEUU */ /*Parametros del sistema*/ string monedaVenta = servGenerico.ParametroObtenerValor("MONEDA_VENTA"); string url_host = servGenerico.ParametroObtenerValor("URL_HOST"); string myIdCliente = servGenerico.ParametroObtenerValor("TRADING_ID_CLIENTE"); List <ClienteLista> listaCliente = null; if (idCliente > 0) { ServicioClientes servClientes = new ServicioClientes(); listaCliente = servClientes.ClienteListaObtenerVigentesCache() .Where(item => item.IdCliente == idCliente) .ToList <ClienteLista>(); //Pedido pedido = servPedido.PedidoObtenerClienteIngresado(idCliente, -1, -1); } else { //cuando se muestra el carrito a usuarios no registrados se fuerza PESO_ARGENTINO monedaVenta = "PESO_ARGENTINO"; } decimal cotizacionDolar = this.CotizacionDolarVigente().Cotizacion; List <Producto> listProdsFull = new List <Producto>(); if (idSubcategoria != -1) { //1ro se obtienen y listan los productos del MONORISTA if (textoBuscar.Contains("ETIQUETA=NOVEDAD")) { listProdsFull.AddRange(this.ProductoObtenerVigentesCache(idSubcategoria) .FindAll(item => item.Stock > 0 && item.Etiquetas.Contains("NOVEDAD")) .OrderBy(item => item.Orden) .ToList <Producto>()); } else { List <Producto> listAux = this.ProductoObtenerVigentesCache(idSubcategoria); listProdsFull.AddRange(listAux .FindAll(item => item.Stock > 0) .OrderBy(item => item.Orden) .ToList <Producto>()); } //despues se buscan los del mayorista SubcategoriaMerge subcateMerge = this.ObtenerSubcategoriaMerge(idSubcategoria); if (subcateMerge != null && subcateMerge.IdSubcategoriaMayorista > 0) { idSubcategoria = subcateMerge.IdSubcategoriaMayorista; textoBuscar = subcateMerge.Etiqueta; } } else { listProdsFull.AddRange(repository.BuscarProductos(textoBuscar, conStock, true, 1, 100)); } //2ro se obtienen y listan los productos del MAYORISTA listProdsFull.AddRange(this.ProductoObtenerDelMayorista(conStock, idSubcategoria, textoBuscar, myIdCliente.ConvertirInt())); int totalFilas = listProdsFull.Count; bool paginar = (numeroPagina != -1 && cantidadRegistros != -1); if (paginar) { int nro_fila = 1; listProdsFull .ForEach(delegate(Producto item) { item.NroFila = nro_fila; nro_fila++; }); int filaDesde = (numeroPagina - 1) * cantidadRegistros; int filaHasta = filaDesde + cantidadRegistros; listProds = listProdsFull.FindAll(item => item.NroFila > filaDesde && item.NroFila <= filaHasta); } else { listProds = listProdsFull; } listProds.ForEach(delegate(Producto prod) { if (prod.StockPropio) { prod = ProcesarStockPropio(listaCliente, url_host, prod); } else { prod = ProcesarStockMayorista(idCliente, prod); } prod.MonedaVenta = monedaVenta == "DOLAR_EEUU" ? "USD" : "$"; if (monedaVenta != "DOLAR_EEUU") { prod.PrecioUnitarioFinal = Decimal.Round(prod.PrecioUnitarioProcesado * cotizacionDolar, 2); } else { prod.PrecioUnitarioFinal = Decimal.Round(prod.PrecioUnitarioProcesado, 2); } prod.CantidadPedido = 0; prod.ProductoPedido = false; }); ProductoList listReturn = new ProductoList(); listReturn.TotalFilas = totalFilas; listReturn.Productos = listProds; return(listReturn); }
public ProductoList ProductoListarABM(int idSubcategoria, int tipoListado, int numeroPagina, int cantidadRegistros) { //este metodo no lee los datos del Cache ServicioGenerico servGenerico = new ServicioGenerico(); ProductoRepository repository = new ProductoRepository(); List <Producto> listProds = new List <Producto>(); string url_host = servGenerico.ParametroObtenerValor("URL_HOST"); List <Producto> listProdsFull = new List <Producto>(); bool paginar = (numeroPagina != -1 && cantidadRegistros != -1); switch (tipoListado) { case 1: listProdsFull.AddRange(this.Listar <Producto>("Subcategoria.Id", idSubcategoria).ToList <Producto>()); break; case 2: //listar solo productos CON stock listProdsFull.AddRange(this.Listar <Producto>("Subcategoria.Id", idSubcategoria).ToList <Producto>() .FindAll(item => item.Stock > 0).ToList <Producto>()); break; case 3: //listar solo productos SIN stock listProdsFull.AddRange(this.Listar <Producto>("Subcategoria.Id", idSubcategoria).ToList <Producto>() .FindAll(item => item.Stock <= 0).ToList <Producto>()); break; } int totalFilas = listProdsFull.Count; if (paginar) { int nro_fila = 1; listProdsFull.ForEach(delegate(Producto item) { item.NroFila = nro_fila; nro_fila++; }); int filaDesde = (numeroPagina - 1) * cantidadRegistros; int filaHasta = filaDesde + cantidadRegistros; listProds = listProdsFull.FindAll(item => item.NroFila > filaDesde && item.NroFila <= filaHasta); } else { listProds = listProdsFull; } ProductoList listReturn = new ProductoList(); listReturn.TotalFilas = totalFilas; listReturn.Productos = listProds; return(listReturn); }