/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new AdministrarAccionInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), }; }
/// <summary> /// registra la accion proporcionada en la base de datos /// </summary> /// <param name="Info">accion que se registrara en la base de datos</param> /// <returns></returns> internal int Guardar(AdministrarAccionInfo Info) { try { Logger.Info(); var AccionDAL = new AccionDAL(); int result = Info.AccionID; if (Info.AccionID == 0) { result = AccionDAL.Crear(Info); } else { AccionDAL.Actualizar(Info); } return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Crear un registro de accion /// </summary> /// <param name="info">Valores de la entidad que será creada</param> internal int Crear(AdministrarAccionInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxAccionDAL.ObtenerParametrosCrear(info); int result = Create("Accion_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); } }
// Constructor por defecto public AdministrarAccionesEdicion() { InitializeComponent(); Contexto = new AdministrarAccionInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), }; }
/// <summary> /// Metodo de validar al guardar la edicion de una acción. /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { // si esta en blanco manda un mensaje que es requerido el campo descripcion. if (string.IsNullOrWhiteSpace(txtDescripcion.Text) && txtDescripcion.Text.Trim() == string.Empty) { resultado = false; mensaje = Properties.Resources.AccionEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.AccionEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { // se realiza la accion para la busqueda por descripcion para no editar y asignarle una descripcion igual a una ya existente. //var AccionPL = new AccionPL(); AdministrarAccionInfo accion = AccionPL.ObtenerPorDescripcion(Contexto.Descripcion.Trim()); if (accion != null && (Contexto.AccionID == 0 || Contexto.AccionID != accion.AccionID)) { resultado = false; mensaje = string.Format(Properties.Resources.AccionEdicion_MsgDescripcionExistente, accion.AccionID); } else if (Contexto.Activo == EstatusEnum.Inactivo) { bool validacion = AccionPL.ValidarAsignacionesAsignadasById(Contexto.AccionID); if (validacion) { resultado = false; mensaje = string.Format(Properties.Resources.AccionEdicion_MsgAccionConfigurada); } } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <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> /// Ontiene la lista /// </summary> /// <param name="inicio">posicion del primer registro que se mostrara(el valor inicial es 1)</param> /// <param name="limite">posicion del ultimo registro que se mostrara en esta pagina</param> private void ObtenerListaAcciones(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } // se crean los filtros para le paginado para posterior mandar llamar el SP. //var AccionPL = new AccionPL(); AdministrarAccionInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <AdministrarAccionInfo> resultadoInfo = AccionPL.ObtenerPorPagina(pagina, filtros); if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0) { gridDatos.ItemsSource = resultadoInfo.Lista; ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros; } else { ucPaginacion.TotalRegistros = 0; gridDatos.ItemsSource = new List <AdministrarAcciones>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Accion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Accion_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Busca una accion en la base de datos que coincida con la descripcion proporcionada /// </summary> /// <param name="Descripcion">Descripcion de la accion que se buscara en la base de datos</param> /// <returns>Regresa la informacion de la accion que se encontro</returns> public static AdministrarAccionInfo ObtenerPorDescripcion(String Descripcion) { try { Logger.Info(); //var AccionBL = new AccionBL(); AdministrarAccionInfo result = AccionBL.ObtenerPorDescripcion(Descripcion); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar la Accion /// </summary> /// <param name="Info">Representa la entidad que se va a grabar</param> public int Guardar(AdministrarAccionInfo Info) { try { Logger.Info(); var accionBL = new AccionBL(); int Resultado = accionBL.Guardar(Info); return(Resultado); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary>Busca una accion en la base de datos que coincida con la descripcion proporcionada</summary> /// <param name="Descripcion">Descripcion de la accion que se buscara en la base de datos</param> /// <returns>Regresa la accion encontrada</returns> internal AdministrarAccionInfo ObtenerPorDescripcion(String Descripcion) { try { Dictionary <string, object> parameters = AuxAccionDAL.ObtenerPorDescripcion(Descripcion); DataSet ds = Retrieve("Accion_ObtenerPorDescripcion", parameters); AdministrarAccionInfo result = null; if (ValidateDataSet(ds)) { result = MapAccionDAL.ObtenerPorDescripcion(ds); } return(result); } catch (SqlException ex) { Logger.Error(ex); throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para insertar un registro /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns>Regresa los parametros necesarios para la insercion</returns> internal static Dictionary <string, object> ObtenerParametrosCrear(AdministrarAccionInfo info) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@Descripcion", info.Descripcion.Trim() }, { "@Activo", info.Activo }, { "@UsuarioCreacionID", info.UsuarioCreacionID }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Método que mapea un resultado hacia accion /// </summary> /// <param name="ds">DataSet que se mapeara</param> /// <returns>Regresa la accion recibida en el DataSet</returns> internal static AdministrarAccionInfo ObtenerPorDescripcion(DataSet ds) { try { Logger.Info(); DataTable dt = ds.Tables[ConstantesDAL.DtDatos]; AdministrarAccionInfo EntidadAccion = (from info in dt.AsEnumerable() select new AdministrarAccionInfo { AccionID = info.Field <int>("AccionID"), Descripcion = info.Field <string>("Descripcion"), Activo = info.Field <bool>("Activo").BoolAEnum() }).First(); return(EntidadAccion); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una lista paginada /// </summary> /// <param name="pagina">informacion de paginacion usada en la consulta</param> /// <param name="filtro">filtros o parametros de busqueda</param> /// <returns></returns> public static ResultadoInfo <AdministrarAccionInfo> ObtenerPorPagina(PaginacionInfo pagina, AdministrarAccionInfo filtro) { try { Logger.Info(); //var AccionBL = new AccionBL(); ResultadoInfo <AdministrarAccionInfo> result = AccionBL.ObtenerPorPagina(pagina, filtro); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene parametros para obtener lista paginada /// </summary> /// <param name="pagina">Informacion de paginacion usada en la consulta</param> /// <param name="filtro">filtro de busqueda que se usara</param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, AdministrarAccionInfo filtro) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@Descripcion", string.IsNullOrWhiteSpace(filtro.Descripcion) ? string.Empty : filtro.Descripcion.Trim() }, { "@Activo", filtro.Activo }, { "@Inicio", pagina.Inicio }, { "@Limite", pagina.Limite } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Constructor para editar una Acción. /// </summary> public AdministrarAccionesEdicion(AdministrarAccionInfo accion) { InitializeComponent(); accion.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = accion; }
/// <summary> /// Obtiene una lista paginada /// </summary> /// <param name="pagina">informacion de paginacion usada en la consulta</param> /// <param name="filtro">filtros o parametros de busqueda</param> /// <returns></returns> internal ResultadoInfo <AdministrarAccionInfo> ObtenerPorPagina(PaginacionInfo pagina, AdministrarAccionInfo filtro) { try { Dictionary <string, object> parameters = AuxAccionDAL.ObtenerParametrosPorPagina(pagina, filtro); DataSet ds = Retrieve("Accion_ObtenerPorPagina", parameters); ResultadoInfo <AdministrarAccionInfo> result = null; if (ValidateDataSet(ds)) { result = MapAccionDAL.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); } }