/// <summary> /// Método que obtiene un registro /// </summary> /// <param name="ds"></param> /// <returns></returns> public static IndicadorObjetivoInfo ObtenerPorFiltros(DataSet ds) { try { Logger.Info(); DataTable dt = ds.Tables[ConstantesDAL.DtDatos]; IndicadorObjetivoInfo entidad = (from info in dt.AsEnumerable() select new IndicadorObjetivoInfo { IndicadorObjetivoID = info.Field <int>("IndicadorObjetivoID"), IndicadorProductoCalidad = new IndicadorProductoCalidadInfo { IndicadorProductoCalidadID = info.Field <int>("IndicadorProductoCalidadID") }, TipoObjetivoCalidad = new TipoObjetivoCalidadInfo { TipoObjetivoCalidadID = info.Field <int>("TipoObjetivoCalidadID"), Descripcion = info.Field <string>("TipoObjetivoCalidad") }, Organizacion = new OrganizacionInfo { OrganizacionID = info.Field <int>("OrganizacionID"), Descripcion = info.Field <string>("Organizacion") }, ObjetivoMinimo = info.Field <decimal>("ObjetivoMinimo"), ObjetivoMaximo = info.Field <decimal>("ObjetivoMaximo"), Tolerancia = info.Field <decimal>("Tolerancia"), Medicion = info.Field <string>("Medicion"), Activo = info.Field <bool>("Activo").BoolAEnum(), }).First(); return(entidad); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un registro de IndicadorObjetivo /// </summary> /// <param name="filtros">Descripción de la IndicadorObjetivo</param> /// <returns></returns> public IndicadorObjetivoInfo ObtenerPorFiltros(IndicadorObjetivoInfo filtros) { try { Logger.Info(); Dictionary <string, object> parameters = AuxIndicadorObjetivoDAL.ObtenerParametrosPorFiltros(filtros); DataSet ds = Retrieve("IndicadorObjetivo_ObtenerPorFiltros", parameters); IndicadorObjetivoInfo result = null; if (ValidateDataSet(ds)) { result = MapIndicadorObjetivoDAL.ObtenerPorFiltros(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> /// Metodo para Guardar/Modificar una entidad IndicadorObjetivo /// </summary> /// <param name="info"></param> public int Guardar(IndicadorObjetivoInfo info) { try { Logger.Info(); var indicadorObjetivoDAL = new IndicadorObjetivoDAL(); int result = info.IndicadorObjetivoID; if (info.IndicadorObjetivoID == 0) { result = indicadorObjetivoDAL.Crear(info); } else { indicadorObjetivoDAL.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 IndicadorObjetivo /// </summary> /// <param name="info">Valores de la entidad que será creada</param> public int Crear(IndicadorObjetivoInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxIndicadorObjetivoDAL.ObtenerParametrosCrear(info); int result = Create("IndicadorObjetivo_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 parametros para actualizar /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosActualizar(IndicadorObjetivoInfo info) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@IndicadorObjetivoID", info.IndicadorObjetivoID }, { "@IndicadorProductoCalidadID", info.IndicadorProductoCalidad.IndicadorProductoCalidadID }, { "@TipoObjetivoCalidadID", info.TipoObjetivoCalidad.TipoObjetivoCalidadID }, { "@OrganizacionID", info.Organizacion.OrganizacionID }, { "@ObjetivoMinimo", info.ObjetivoMinimo }, { "@ObjetivoMaximo", info.ObjetivoMaximo }, { "@Tolerancia", info.Tolerancia }, { "@Medicion", info.Medicion }, { "@Activo", info.Activo }, { "@UsuarioModificacionID", info.UsuarioModificacionID }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Constructor para editar una entidad IndicadorObjetivo Existente /// </summary> /// <param name="indicadorObjetivoInfo"></param> public IndicadorObjetivoEdicion(IndicadorObjetivoInfo indicadorObjetivoInfo) { InitializeComponent(); //CargaComboIndicadorProductoCalidad(); CargaComboTipoObjetivoCalidad(); //CargaComboOrganizacion(); indicadorObjetivoInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); CargaComboIndicador(); Contexto = indicadorObjetivoInfo; cmbIndicador.IsEnabled = false; cmbProductoIndicador.IsEnabled = false; //cmbTipoObjetivoCalidad.IsEnabled = false; }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new IndicadorObjetivoInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), Organizacion = new OrganizacionInfo { OrganizacionID = AuxConfiguracion.ObtenerOrganizacionUsuario() }, Indicador = new IndicadorInfo(), IndicadorProductoCalidad = new IndicadorProductoCalidadInfo(), TipoObjetivoCalidad = new TipoObjetivoCalidadInfo() }; }
/// <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 IndicadorObjetivo por su Id /// </summary> /// <param name="filtros">Obtiene una entidad IndicadorObjetivo por sus filtros</param> /// <returns></returns> public IndicadorObjetivoInfo ObtenerPorFiltros(IndicadorObjetivoInfo filtros) { try { Logger.Info(); var indicadorObjetivoDAL = new IndicadorObjetivoDAL(); IndicadorObjetivoInfo result = indicadorObjetivoDAL.ObtenerPorFiltros(filtros); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaIndicadorObjetivo(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var indicadorObjetivoBL = new IndicadorObjetivoBL(); IndicadorObjetivoInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <IndicadorObjetivoInfo> resultadoInfo = indicadorObjetivoBL.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; ucPaginacion.AsignarValoresIniciales(); gridDatos.ItemsSource = new List <IndicadorObjetivo>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.IndicadorObjetivo_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.IndicadorObjetivo_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Obtiene Parametro pora filtrar por descripción /// </summary> /// <param name="filtros">Descripción de la entidad </param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosPorFiltros(IndicadorObjetivoInfo filtros) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@IndicadorProductoCalidadID", filtros.IndicadorProductoCalidad.IndicadorProductoCalidadID }, { "@OrganizacionID", filtros.Organizacion.OrganizacionID }, { "@Activo", filtros.Activo.GetHashCode() }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para actualizar un registro de IndicadorObjetivo /// </summary> /// <param name="info">Valores de la entidad que se actualizarán</param> public void Actualizar(IndicadorObjetivoInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxIndicadorObjetivoDAL.ObtenerParametrosActualizar(info); Update("IndicadorObjetivo_Actualizar", parameters); } 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> /// Metodo que valida los datos para guardar /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { if (string.IsNullOrWhiteSpace(txtIndicadorObjetivoID.Text)) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgIndicadorObjetivoIDRequerida; txtIndicadorObjetivoID.Focus(); } else if (cmbIndicador.SelectedItem == null || cmbIndicador.SelectedIndex == 0) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgIndicadorProductoCalidadIDRequerida; cmbIndicador.Focus(); } else if (cmbProductoIndicador.SelectedItem == null || cmbProductoIndicador.SelectedIndex == 0) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgProductoRequerida; cmbProductoIndicador.Focus(); } else if (cmbTipoObjetivoCalidad.SelectedItem == null || Contexto.TipoObjetivoCalidad.TipoObjetivoCalidadID == 0) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgTipoObjetivoCalidadIDRequerida; cmbTipoObjetivoCalidad.Focus(); } else if (!dtuObjetivoMinimo.Value.HasValue || Contexto.ObjetivoMinimo == 0) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgObjetivoMinimoRequerida; dtuObjetivoMinimo.Focus(); } else if (!dtuObjetivoMaximo.Value.HasValue || Contexto.ObjetivoMaximo == 0) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgObjetivoMaximoRequerida; dtuObjetivoMaximo.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.IndicadorObjetivoEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { var indicadorProductoCalidad = ObtenerProductoCalidad(); var indicadorObjetivo = new IndicadorObjetivoInfo { TipoObjetivoCalidad = Contexto.TipoObjetivoCalidad, IndicadorProductoCalidad = indicadorProductoCalidad, Organizacion = Contexto.Organizacion, Activo = EstatusEnum.Activo }; var indicadorObjetivoBL = new IndicadorObjetivoBL(); IndicadorObjetivoInfo indicadorObjetivoExiste = indicadorObjetivoBL.ObtenerPorFiltros(indicadorObjetivo); if (indicadorObjetivoExiste != null && (Contexto.IndicadorObjetivoID == 0 || Contexto.IndicadorObjetivoID != indicadorObjetivoExiste.IndicadorObjetivoID)) { resultado = false; mensaje = string.Format(Properties.Resources.IndicadorObjetivoEdicion_MsgIndicadorExistente, indicadorObjetivoExiste.IndicadorObjetivoID); } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <IndicadorObjetivoInfo> ObtenerPorPagina(PaginacionInfo pagina, IndicadorObjetivoInfo filtro) { try { Dictionary <string, object> parameters = AuxIndicadorObjetivoDAL.ObtenerParametrosPorPagina(pagina, filtro); DataSet ds = Retrieve("IndicadorObjetivo_ObtenerPorPagina", parameters); ResultadoInfo <IndicadorObjetivoInfo> result = null; if (ValidateDataSet(ds)) { result = MapIndicadorObjetivoDAL.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 un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <IndicadorObjetivoInfo> ObtenerPorPagina(PaginacionInfo pagina, IndicadorObjetivoInfo filtro) { try { Logger.Info(); var indicadorObjetivoDAL = new IndicadorObjetivoDAL(); ResultadoInfo <IndicadorObjetivoInfo> result = indicadorObjetivoDAL.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"></param> /// <param name="filtro"></param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, IndicadorObjetivoInfo filtro) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@IndicadorObjetivoID", filtro.IndicadorObjetivoID }, { "@OrganizacionID", filtro.Organizacion.OrganizacionID }, { "@IndicadorID", filtro.Indicador.IndicadorId }, { "@ProductoID", filtro.Producto.ProductoId }, { "@Activo", filtro.Activo }, { "@Inicio", pagina.Inicio }, { "@Limite", pagina.Limite } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }