public static bool AgregarProductosDelRecuperardorAlCarrito(string pSucursal, string[] pArrayNombreProducto, int[] pArrayCantidad, bool[] pArrayOferta) { bool resultado = false; if (System.Web.HttpContext.Current.Session["clientesDefault_Usuario"] != null && System.Web.HttpContext.Current.Session["clientes_pages_Recuperador_Tipo"] != null && System.Web.HttpContext.Current.Session["clientesDefault_Cliente"] != null && System.Web.HttpContext.Current.Session["clientes_pages_Recuperador_CantidadDia"] != null) { List <cProductosAndCantidad> listaAUX = new List <cProductosAndCantidad>(); for (int i = 0; i < pArrayNombreProducto.Count(); i++) { cProductosAndCantidad obj = new cProductosAndCantidad(); obj.cantidad = pArrayCantidad[i]; obj.codProductoNombre = pArrayNombreProducto[i]; listaAUX.Add(obj); } List <cProductosGenerico> listaProductos = WebService.RecuperarTodosProductosDesdeTabla(listaAUX, ((cClientes)System.Web.HttpContext.Current.Session["clientesDefault_Cliente"]).cli_codsuc, ((cClientes)System.Web.HttpContext.Current.Session["clientesDefault_Cliente"]).cli_codprov, ((cClientes)System.Web.HttpContext.Current.Session["clientesDefault_Cliente"]).cli_codigo); if (isCAR) { List <cProductosAndCantidad> listaProductos_capaCAR = new List <cProductosAndCantidad>(); for (int i = 0; i < pArrayNombreProducto.Count(); i++) { cProductosGenerico objProducto = listaProductos.Where(x => x.pro_nombre == pArrayNombreProducto[i]).First(); int cantidad = pArrayCantidad[i]; int cantidadAgregar = 0; List <int> cantidadBD = WebService.RecuperarCantidadProductoEnCarritoYCarritoTransferFacturacionDirecta(((cClientes)System.Web.HttpContext.Current.Session["clientesDefault_Cliente"]).cli_codigo, pSucursal, objProducto.pro_codigo, objProducto.pro_nombre); int cantidadTotalMasBD = cantidad; if (cantidadBD != null) { cantidadTotalMasBD += cantidadBD[0] + cantidadBD[1]; } List <int> listaCantidades = FuncionesPersonalizadas.CargarProductoCantidadDependiendoTransfer(objProducto, cantidadTotalMasBD); cProductosAndCantidad objProductosAndCantidad = new cProductosAndCantidad(); objProductosAndCantidad.codProductoNombre = objProducto.pro_nombre; objProductosAndCantidad.codProducto = objProducto.pro_codigo; objProductosAndCantidad.codSucursal = pSucursal; objProductosAndCantidad.cantidad = listaCantidades[0]; objProductosAndCantidad.isTransferFacturacionDirecta = false; listaProductos_capaCAR.Add(objProductosAndCantidad); cProductosAndCantidad objProductosAndCantidad_transfer = new cProductosAndCantidad(); objProductosAndCantidad_transfer.codProductoNombre = objProducto.pro_nombre; objProductosAndCantidad_transfer.codProducto = objProducto.pro_codigo; objProductosAndCantidad_transfer.codSucursal = pSucursal; objProductosAndCantidad_transfer.cantidad = listaCantidades[1]; objProductosAndCantidad_transfer.isTransferFacturacionDirecta = true; objProductosAndCantidad_transfer.tde_codtfr = objProducto.tde_codtfr; listaProductos_capaCAR.Add(objProductosAndCantidad_transfer); //capaCAR_decision.AgregarProductosTransfersAlCarrito(tempListaProductos, (int)((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).usu_codCliente, ((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).id, objProducto.tde_codtfr, pSucursal, Constantes.cTipo_CarritoTransfers); WebService.BorrarPorProductosFaltasProblemasCrediticiosV2(pSucursal, (int)((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).usu_codCliente, Convert.ToInt32(System.Web.HttpContext.Current.Session["clientes_pages_Recuperador_Tipo"]), objProducto.pro_nombre, Convert.ToInt32(System.Web.HttpContext.Current.Session["clientes_pages_Recuperador_CantidadDia"]), cantidadAgregar); } return(ActualizarProductoCarritoSubirArchivo(listaProductos_capaCAR)); } else { for (int i = 0; i < pArrayNombreProducto.Count(); i++) { cProductosGenerico objProducto = listaProductos.Where(x => x.pro_nombre == pArrayNombreProducto[i]).First(); int cantidad = pArrayCantidad[i]; int cantidadAgregar = 0; List <int> cantidadBD = WebService.RecuperarCantidadProductoEnCarritoYCarritoTransferFacturacionDirecta(((cClientes)System.Web.HttpContext.Current.Session["clientesDefault_Cliente"]).cli_codigo, pSucursal, objProducto.pro_codigo, objProducto.pro_nombre); int cantidadTotalMasBD = cantidad; if (cantidadBD != null) { cantidadTotalMasBD += cantidadBD[0] + cantidadBD[1]; } List <int> listaCantidades = FuncionesPersonalizadas.CargarProductoCantidadDependiendoTransfer(objProducto, cantidadTotalMasBD); // Carrito comun WebService.AgregarProductoAlCarritoDesdeRecuperador(pSucursal, objProducto.pro_nombre, listaCantidades[0], (int)((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).usu_codCliente, ((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).id); List <cProductosAndCantidad> tempListaProductos = new List <cProductosAndCantidad>(); cProductosAndCantidad objProductosAndCantidad = new cProductosAndCantidad(); objProductosAndCantidad.codProductoNombre = objProducto.pro_nombre; objProductosAndCantidad.cantidad = listaCantidades[1]; tempListaProductos.Add(objProductosAndCantidad); capaCAR_decision.AgregarProductosTransfersAlCarrito(tempListaProductos, (int)((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).usu_codCliente, ((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).id, objProducto.tde_codtfr, pSucursal, Constantes.cTipo_CarritoTransfers); WebService.BorrarPorProductosFaltasProblemasCrediticiosV2(pSucursal, (int)((Usuario)System.Web.HttpContext.Current.Session["clientesDefault_Usuario"]).usu_codCliente, Convert.ToInt32(System.Web.HttpContext.Current.Session["clientes_pages_Recuperador_Tipo"]), objProducto.pro_nombre, Convert.ToInt32(System.Web.HttpContext.Current.Session["clientes_pages_Recuperador_CantidadDia"]), cantidadAgregar); } resultado = true; } } return(resultado); }