public cProductosGenerico(cProductos pProducto) { base.pro_codigo = pProducto.pro_codigo; base.pro_nombre = pProducto.pro_nombre; base.PrecioFinal = pProducto.PrecioFinal; base.pro_codigoalfabeta = pProducto.pro_codigoalfabeta; base.pro_codigobarra = pProducto.pro_codigobarra; base.pro_codtpopro = pProducto.pro_codtpopro; base.pro_descuentoweb = pProducto.pro_descuentoweb; base.pro_laboratorio = pProducto.pro_laboratorio; base.pro_monodroga = pProducto.pro_monodroga; base.pro_codtpovta = pProducto.pro_codtpovta; base.pro_neto = pProducto.pro_neto; base.pro_ofeporcentaje = pProducto.pro_ofeporcentaje; base.pro_ofeunidades = pProducto.pro_ofeunidades; base.pro_precio = pProducto.pro_precio; base.pro_preciofarmacia = pProducto.pro_preciofarmacia; base.pro_isTrazable = pProducto.pro_isTrazable; base.pro_NoTransfersEnClientesPerf = pProducto.pro_NoTransfersEnClientesPerf; base.pro_Familia = pProducto.pro_Familia; base.pro_AceptaVencidos = pProducto.pro_AceptaVencidos; base.pro_PackDeVenta = pProducto.pro_PackDeVenta; base.pro_PrecioBase = pProducto.pro_PrecioBase; base.pro_PorcARestarDelDtoDeCliente = pProducto.pro_PorcARestarDelDtoDeCliente; base.pro_ProductoRequiereLote = pProducto.pro_ProductoRequiereLote; listaSucursalStocks = new List <cSucursalStocks>(); isProductoNoEncontrado = false; }
public static List <cCarrito> RecuperarCarritosPorSucursalYProductos_generica(int pIdCliente, string pTipo) { if (WebService.VerificarPermisos(WebService.CredencialAutenticacion)) { cClientes objClientes = WebService.RecuperarClientePorId(pIdCliente); DataSet dsProductoCarrito = new DataSet(); if (pTipo == Constantes.cTipo_Carrito) { dsProductoCarrito = capaCAR.RecuperarCarritosPorSucursalYProductos(pIdCliente); } else if (pTipo == Constantes.cTipo_CarritoDiferido) { dsProductoCarrito = capaCAR.RecuperarCarritosDiferidosPorCliente(pIdCliente); } List <cCarrito> listaSucursal = (from item in dsProductoCarrito.Tables[1].AsEnumerable() select new cCarrito { car_id = item.Field <int>("car_id"), lrc_id = item.Field <int>("car_id"), codSucursal = item.Field <string>("car_codSucursal") }).ToList(); foreach (cCarrito item in listaSucursal) { item.proximoHorarioEntrega = FuncionesPersonalizadas.ObtenerHorarioCierre(objClientes.cli_codsuc, item.codSucursal, objClientes.cli_codrep); List <cProductosGenerico> listaProductoCarrtios = new List <cProductosGenerico>(); foreach (DataRow itemProductoCarrtio in dsProductoCarrito.Tables[0].Select("cad_codCarrito = " + item.lrc_id)) { cProductos objProducto = WebService.ConvertToProductos(itemProductoCarrtio); cProductosGenerico objProductosGenerico = new cProductosGenerico(objProducto); if (itemProductoCarrtio.Table.Columns.Contains("stk_stock") && itemProductoCarrtio["stk_stock"] != DBNull.Value) { objProductosGenerico.stk_stock = itemProductoCarrtio["stk_stock"].ToString(); } if (itemProductoCarrtio.Table.Columns.Contains("cad_codProducto") && itemProductoCarrtio["cad_codProducto"] != DBNull.Value) { objProductosGenerico.codProducto = itemProductoCarrtio["cad_codProducto"].ToString(); } if (itemProductoCarrtio.Table.Columns.Contains("cad_cantidad") && itemProductoCarrtio["cad_cantidad"] != DBNull.Value) { objProductosGenerico.cantidad = Convert.ToInt32(itemProductoCarrtio["cad_cantidad"]); } listaProductoCarrtios.Add(objProductosGenerico); } /// Nuevo List <cTransferDetalle> listaTransferDetalle = null; if (dsProductoCarrito.Tables.Count > 2) { listaTransferDetalle = new List <cTransferDetalle>(); DataTable tablaTransferDetalle = dsProductoCarrito.Tables[2]; foreach (DataRow itemTransferDetalle in tablaTransferDetalle.Rows) { cTransferDetalle objTransferDetalle = WebService.ConvertToTransferDetalle(itemTransferDetalle); objTransferDetalle.CargarTransfer(WebService.ConvertToTransfer(itemTransferDetalle)); listaTransferDetalle.Add(objTransferDetalle); } } /// FIN Nuevo for (int iPrecioFinal = 0; iPrecioFinal < listaProductoCarrtios.Count; iPrecioFinal++) { listaProductoCarrtios[iPrecioFinal].PrecioFinal = FuncionesPersonalizadas.ObtenerPrecioFinal(objClientes, listaProductoCarrtios[iPrecioFinal]); /// Nuevo listaProductoCarrtios[iPrecioFinal].isProductoFacturacionDirecta = false; if (listaTransferDetalle != null) { List <cTransferDetalle> listaAUXtransferDetalle = listaTransferDetalle.Where(x => x.tde_codpro == listaProductoCarrtios[iPrecioFinal].pro_nombre).ToList(); if (listaAUXtransferDetalle.Count > 0) { listaProductoCarrtios[iPrecioFinal].isProductoFacturacionDirecta = true; listaProductoCarrtios[iPrecioFinal].CargarTransferYTransferDetalle(listaAUXtransferDetalle[0]); listaProductoCarrtios[iPrecioFinal].PrecioFinalTransfer = FuncionesPersonalizadas.ObtenerPrecioFinalTransferBase(objClientes, listaProductoCarrtios[iPrecioFinal].tfr_deshab, listaProductoCarrtios[iPrecioFinal].tfr_pordesadi, listaProductoCarrtios[iPrecioFinal].pro_neto, listaProductoCarrtios[iPrecioFinal].pro_codtpopro, listaProductoCarrtios[iPrecioFinal].pro_descuentoweb, listaProductoCarrtios[iPrecioFinal].tde_predescuento == null ? 0 : (decimal)listaProductoCarrtios[iPrecioFinal].tde_predescuento, listaProductoCarrtios[iPrecioFinal].tde_PrecioConDescuentoDirecto, listaProductoCarrtios[iPrecioFinal].tde_PorcARestarDelDtoDeCliente); } } /// FIN Nuevo } item.listaProductos = listaProductoCarrtios; } listaSucursal.RemoveAll(x => x.listaProductos.Count == 0); return(listaSucursal); } // sin no valida la credencial return(null); }