/// <summary> /// Función para validar las unidades de ventas seleccionadas. /// Revisa si se puede seleccionar la unidad de venta revisando si esta habilitado el servicio para la agencia /// </summary> /// <returns> /// true->Si las unidades seleccionadas son validas /// false->Si las unidades seleccionadas son inválidas /// </returns> private bool ValidarUnidadesVentaSeleccionadas() { IAgencia Agencia = AgenciaFactory.GetAgencia(); string MensajeError = "", CodigosServicios; DsUnidadesVentaServicios DsUV; DsAgenciasServicios DsAS; ArrayList UnidadesSelSinServicios = new ArrayList(); // Cargo el código de la agencia Agencia.AgenciaID = Utiles.Validaciones.obtieneEntero(this.txtAgenciaID.Text); // Reviso si para los items seleccionados estan habilitados los servicios. for (int i = 0; i < this.lstUnidadesVenta.Items.Count; i++) { if (this.lstUnidadesVenta.Items[i].Selected) { // Esta seleccionada la unidad de venta // Obtengo los servicios que estan vinculados a la unidad de venta IUnidadVenta UnidadVenta = UnidadVentaFactory.GetUnidadVenta(); UnidadVenta.UnidadVentaID = Convert.ToInt32(this.lstUnidadesVenta.Items[i].Value); DsUV = UnidadVenta.GetUnidadVentaServicioOneDataSet(); if (DsUV.Datos.Count > 0) { // Cargo los códigos de los servicios a buscar CodigosServicios = DsUV.Datos[0].ServicioID.ToString(); for (int Indice = 1; Indice < DsUV.Datos.Count; Indice++) { CodigosServicios += "," + DsUV.Datos[Indice].ServicioID.ToString(); } // Reviso si estan seleccionados todos los servicios en la agencia Agencia.ListadoServiciosId = CodigosServicios; DsAS = Agencia.GetAgenciaServiciosByListadoServiciosIdDataSet(); if (DsAS.Datos.Count < DsUV.Datos.Count) { // No estan seleccionados todos los servicios necesarios para la unidad de venta. // Cargo el error UnidadesSelSinServicios.Add(lstUnidadesVenta.Items[i].Text); } } } } // Reviso si se encontro alguna unidad de venta con error. if (UnidadesSelSinServicios.Count > 0) { // Se encontraron unidades de venta con error // Cargo las unidades de venta con error MensajeError = UnidadesSelSinServicios[0].ToString(); for (int Indice = 1; Indice < UnidadesSelSinServicios.Count; Indice++) { MensajeError += ", " + UnidadesSelSinServicios[Indice].ToString(); } // Cargo el mensaje de error if (UnidadesSelSinServicios.Count == 1) { MensajeError = "La unidad de venta \"" + MensajeError + "\" no se puede seleccionar debido a que la agencia no tiene seleccionado los servicios necesarios."; } else { MensajeError = "Las unidades de venta \"" + MensajeError + "\" no se pueden seleccionar debido a que la agencia no tiene seleccionado los servicios necesarios."; } // Cargo el error ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(MensajeError); return(false); //Indico que las unidades de venta seleccionadas no son válidas } else // Indico que las unidades de venta seleccionadas son válidas { return(true); } }