Exemplo n.º 1
0
 //
 public void CargarTransferYTransferDetalle(cTransferDetalle pValor)
 {
     base.tde_codpro                         = pValor.tde_codpro;
     base.tde_codtfr                         = pValor.tde_codtfr;
     base.tde_descripcion                    = pValor.tde_descripcion;
     base.tde_fijuni                         = pValor.tde_fijuni;
     base.tde_maxuni                         = pValor.tde_maxuni;
     base.tde_minuni                         = pValor.tde_minuni;
     base.tde_muluni                         = pValor.tde_muluni;
     base.tde_predescuento                   = pValor.tde_predescuento;
     base.tde_prepublico                     = pValor.tde_prepublico;
     base.tde_proobligatorio                 = pValor.tde_proobligatorio;
     base.tde_unidadesbonificadas            = pValor.tde_unidadesbonificadas;
     base.tde_unidadesbonificadasdescripcion = pValor.tde_unidadesbonificadasdescripcion;
     base.tde_PrecioConDescuentoDirecto      = pValor.tde_PrecioConDescuentoDirecto;
     base.tde_PorcARestarDelDtoDeCliente     = pValor.tde_PorcARestarDelDtoDeCliente;
     base.tde_PorcDtoSobrePVP                = pValor.tde_PorcDtoSobrePVP;
     base.tfr_codigo                         = pValor.tfr_codigo;
     base.tfr_accion                         = pValor.tfr_accion;
     base.tfr_nombre                         = pValor.tfr_nombre;
     base.tfr_deshab                         = pValor.tfr_deshab;
     base.tfr_pordesadi                      = pValor.tfr_pordesadi;
     base.tfr_tipo               = pValor.tfr_tipo;
     base.tfr_mospap             = pValor.tfr_mospap;
     base.tfr_minrenglones       = pValor.tfr_minrenglones;
     base.tfr_minunidades        = pValor.tfr_minunidades;
     base.tfr_maxunidades        = pValor.tfr_maxunidades;
     base.tfr_mulunidades        = pValor.tfr_mulunidades;
     base.tfr_fijunidades        = pValor.tfr_fijunidades;
     base.tfr_facturaciondirecta = pValor.tfr_facturaciondirecta;
     base.tfr_descripcion        = pValor.tfr_descripcion;
 }
        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);
        }