/// <summary> /// Método para obtener un diccionario con los valores de los Tipos de Autorizacion que se envía como parámetro para el llenado del combo correspondiente /// </summary> /// <returns>Diccionario de tipo string,string</returns> private Dictionary <int, string> ObtenerUnidadesOperativas() { try { Dictionary <int, string> listaUnidadesOperativas = new Dictionary <int, string>(); List <AdscripcionBO> lstAdscripcion = FacadeBR.ConsultarAdscripcionSeguridad(dctx, new AdscripcionBO(), this.vista.Usuario); var grupoUnidadOperativa = lstAdscripcion.GroupBy(ad => ad.UnidadOperativa.Id); foreach (var unidadID in grupoUnidadOperativa) { if (unidadID.Key == null) { continue; } UnidadOperativaBO unidadBO = lstAdscripcion.FirstOrDefault(ad => ad.UnidadOperativa.Id == unidadID.Key.Value).UnidadOperativa; if (unidadBO.Id != null && !string.IsNullOrWhiteSpace(unidadBO.Nombre) && unidadBO.Id != (int)ETipoEmpresa.Idealease) { listaUnidadesOperativas.Add((int)unidadBO.Id, unidadBO.Nombre); } } return(listaUnidadesOperativas); } catch (Exception ex) { throw new Exception(this.nombreClase + ".ListaTiposAutorizacion:Error al consultar las Unidades Operativas"); } }
public void ObtenerDatosAdscripcion() { try { #region listaAdscripcion #region SC0004 var adscripcionParam = vista.Adscripcion ?? new AdscripcionBO(); #endregion List <AdscripcionBO> lstAdscripcion = FacadeBR.ConsultarAdscripcionSeguridad(dataContext, adscripcionParam, this.vista.Usuario); if (lstAdscripcion.Count > 0) { //Valida si solo hay 1 unidad operativa diferente entre las adscripciones para poder pasar directo if (lstAdscripcion.GroupBy(i => i.UnidadOperativa.Id, (key, group) => group.First()).ToList().Count == 1) { #region SC0004 // Ubicar la Adscripcion con Sucursal y Departamento Nulos var adscripcionSeleccionada = lstAdscripcion.FirstOrDefault(x => (x.Sucursal == null || x.Sucursal.Id == null) && (x.Departamento == null || x.Departamento.Id == null)); // Si no Existe, generar una adscripcion con Sucursal y Departamento Nulos. if (adscripcionSeleccionada == null) { adscripcionSeleccionada = new AdscripcionBO { UnidadOperativa = lstAdscripcion.First().UnidadOperativa, Sucursal = new SucursalBO(), Departamento = new DepartamentoBO() } } ; #endregion //RQM 14078 lstAdscripciones.Add(adscripcionSeleccionada); SeleccionarAdscripcion(adscripcionSeleccionada); } else { //RQM 14078 lstAdscripciones = lstAdscripcion; vista.Adscripciones = lstAdscripcion; this.vista.CargarDatosAdscripcion(); } } else { this.vista.MostrarMensaje("No tiene permisos configurados para trabajar con el sistema o sus permisos han caducado." + "Para mas información póngase en contacto con el administrador del sistema", ETipoMensajeIU.INFORMACION); } #endregion } catch (Exception ex) { this.vista.MostrarMensaje("Surgió un error al obtener las adscripciones, si el problema persiste, contacte con el administrador del sistema", ETipoMensajeIU.ERROR, ex.Message); } }