/// <summary> /// Metodo para Crear un registro de GrupoFormulario /// </summary> /// <param name="info">Valores de la entidad que será creada</param> internal int Crear(GrupoFormularioInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxGrupoFormularioDAL.ObtenerParametrosCrear(info); int result = Create("GrupoFormulario_Crear", parameters); return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad por su Grupo Id /// </summary> /// <param name="grupoID"></param> /// <returns></returns> internal GrupoFormularioInfo ObtenerPorGrupoID(int grupoID) { try { Logger.Info(); Dictionary <string, object> parameters = AuxGrupoFormularioDAL.ObtenerParametrosPorGrupoID(grupoID); DataSet ds = Retrieve("GrupoFormulario_ObtenerPorGrupoID", parameters); GrupoFormularioInfo result = null; if (ValidateDataSet(ds)) { result = MapGrupoFormularioDAL.ObtenerPorGrupoID(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para actualizar /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosActualizar(GrupoFormularioInfo info) { try { Logger.Info(); int grupoID = info.Grupo.GrupoID; var xml = new XElement("ROOT", from grupoFormulario in info.ListaFormulario select new XElement("GrupoFormulario", new XElement("GrupoID", grupoID), new XElement("FormularioID", grupoFormulario.FormularioID), new XElement("AccesoID", grupoFormulario.Acceso.AccesoId) )); var parametros = new Dictionary <string, object> { { "@XmlGrupoFormulario", xml.ToString() }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new GrupoFormularioInfo { Grupo = new GrupoInfo(), Formulario = new FormularioInfo(), Acceso = new AccesoInfo(), }; }
/// <summary> /// Evento que se ejecuta mientras se esta cerrando la ventana /// </summary> /// <param name="e"></param> protected override void OnClosing(CancelEventArgs e) { if (confirmaSalir) { MessageBoxResult result = SkMessageBox.Show(this, Properties.Resources.Msg_CerrarSinGuardar, MessageBoxButton.YesNo, MessageImage.Question); if (result == MessageBoxResult.Yes) { Contexto = null; } else { e.Cancel = true; } } }
/// <summary> /// Obtiene una entidad por su Grupo Id /// </summary> /// <param name="grupoID"></param> /// <returns></returns> internal GrupoFormularioInfo ObtenerPorGrupoID(int grupoID) { try { Logger.Info(); var grupoFormularioDAL = new GrupoFormularioDAL(); GrupoFormularioInfo result = grupoFormularioDAL.ObtenerPorGrupoID(grupoID); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar/Modificar una entidad GrupoFormulario /// </summary> /// <param name="info">Representa la entidad que se va a grabar</param> public int Guardar(GrupoFormularioInfo info) { try { Logger.Info(); var grupoFormularioBL = new GrupoFormularioBL(); int result = grupoFormularioBL.Guardar(info); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad por su descripción /// </summary> /// <param name="descripcion"></param> /// <returns></returns> public GrupoFormularioInfo ObtenerPorDescripcion(string descripcion) { try { Logger.Info(); var grupoFormularioBL = new GrupoFormularioBL(); GrupoFormularioInfo result = grupoFormularioBL.ObtenerPorDescripcion(descripcion); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para crear /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosCrear(GrupoFormularioInfo info) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@GrupoID", info.Grupo.GrupoID }, { "@AccesoID", info.Acceso.AccesoId }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Método que obtiene un registro /// </summary> /// <param name="ds"></param> /// <returns></returns> internal static GrupoFormularioInfo ObtenerPorDescripcion(DataSet ds) { try { Logger.Info(); DataTable dt = ds.Tables[ConstantesDAL.DtDatos]; GrupoFormularioInfo entidad = (from info in dt.AsEnumerable() select new GrupoFormularioInfo { Grupo = new GrupoInfo { GrupoID = info.Field <int>("GrupoID"), Descripcion = info.Field <string>("Grupo") }, Formulario = new FormularioInfo { FormularioID = info.Field <int>("FormularioID"), Descripcion = info.Field <string>("Formulario") }, Acceso = new AccesoInfo { AccesoId = info.Field <int>("AccesoID"), Descripcion = info.Field <string>("Acceso") }, }).First(); return(entidad); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal ResultadoInfo <GrupoFormularioInfo> ObtenerPorPagina(PaginacionInfo pagina, GrupoFormularioInfo filtro) { try { Logger.Info(); var grupoFormularioDAL = new GrupoFormularioDAL(); ResultadoInfo <GrupoFormularioInfo> result = grupoFormularioDAL.ObtenerPorPagina(pagina, filtro); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Constructor para editar una entidad GrupoFormulario Existente /// </summary> /// <param name="grupoFormularioInfo"></param> public GrupoFormularioEdicion(GrupoFormularioInfo grupoFormularioInfo) { InitializeComponent(); Contexto = grupoFormularioInfo; GenerarTreeView(); }
/// <summary> /// Genera el Arbol con las pantallas /// </summary> private void GenerarTreeView() { var grupoFormularioPL = new GrupoFormularioPL(); Contexto = grupoFormularioPL.ObtenerPorGrupoID(Contexto.Grupo.GrupoID); var modulos = (from mod in Contexto.ListaFormulario orderby mod.Modulo.Descripcion select new { mod.Modulo.ModuloID, mod.Modulo.Descripcion, }).Distinct().ToList(); StackPanel stack = GenerarEncabezado(); var treeHeader = new TreeViewItem { Header = stack, }; treeGrupos.Items.Add(treeHeader); modulos.ForEach(desc => { stack = new StackPanel { HorizontalAlignment = HorizontalAlignment.Center, Width = 560, }; var lbl = new Label { Content = desc.Descripcion, }; stack.Children.Add(lbl); treeHeader = new TreeViewItem { Header = stack, }; treeGrupos.Items.Add(treeHeader); List <FormularioInfo> formularios = Contexto.ListaFormulario.Where( pantalla => pantalla.Modulo.ModuloID == desc.ModuloID).Select( formulario => formulario).ToList(); for (var indexFormularios = 0 ; indexFormularios < formularios.Count; indexFormularios++) { stack = ObtenerPanelItem(indexFormularios, formularios[indexFormularios].Descripcion, formularios[indexFormularios].Acceso); var treeItem = new TreeViewItem { Header = stack }; treeHeader.Items.Add(treeItem); } }); }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal ResultadoInfo <GrupoFormularioInfo> ObtenerPorPagina(PaginacionInfo pagina, GrupoFormularioInfo filtro) { try { Dictionary <string, object> parameters = AuxGrupoFormularioDAL.ObtenerParametrosPorPagina(pagina, filtro); DataSet ds = Retrieve("GrupoFormulario_ObtenerPorPagina", parameters); ResultadoInfo <GrupoFormularioInfo> result = null; if (ValidateDataSet(ds)) { result = MapGrupoFormularioDAL.ObtenerPorPagina(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (DataException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad de GrupoFormulario por su GrupoID /// </summary> /// <param name="ds"></param> /// <returns></returns> internal static GrupoFormularioInfo ObtenerPorGrupoID(DataSet ds) { try { Logger.Info(); DataTable dtGrupo = ds.Tables[ConstantesDAL.DtGrupo]; DataTable dtFormulario = ds.Tables[ConstantesDAL.DtFormulario]; GrupoFormularioInfo resultado = (from grupo in dtGrupo.AsEnumerable() select new GrupoFormularioInfo { Grupo = new GrupoInfo { GrupoID = grupo.Field <int>("GrupoID"), Descripcion = grupo.Field <string>("Grupo"), Activo = grupo.Field <bool>("Activo").BoolAEnum(), }, }).FirstOrDefault(); if (resultado == null) { resultado = new GrupoFormularioInfo(); } resultado.ListaFormulario = (from pantallas in dtFormulario.AsEnumerable() select new FormularioInfo { FormularioID = pantallas.Field <int>("FormularioID"), Descripcion = pantallas.Field <string>("Formulario"), Modulo = new ModuloInfo { ModuloID = pantallas.Field <int>( "ModuloID"), Descripcion = pantallas.Field <string>("Modulo"), }, }).ToList(); List <FormularioInfo> accesos = (from acceso in ds.Tables[ConstantesDAL.DtAcceso].AsEnumerable() select new FormularioInfo { FormularioID = acceso.Field <int>("FormularioID"), Acceso = new AccesoInfo { AccesoId = acceso.Field <int>("AccesoID") }, }).ToList(); resultado.ListaFormulario.ForEach(formulario => { AccesoInfo accesoInfo = accesos.Where( ac => ac.FormularioID == formulario.FormularioID).Select( ac => ac.Acceso).FirstOrDefault(); if (accesoInfo == null) { accesoInfo = new AccesoInfo(); } formulario.Acceso = accesoInfo; }); return(resultado); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para obtener lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, GrupoFormularioInfo filtro) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@GrupoDescripcion", string.IsNullOrWhiteSpace(filtro.Grupo.Descripcion) ? string.Empty : filtro.Grupo.Descripcion }, { "@Activo", filtro.Grupo.Activo }, { "@Inicio", pagina.Inicio }, { "@Limite", pagina.Limite } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }