예제 #1
0
        /// <summary>
        ///     Obtiene un zona por Id
        /// </summary>
        /// <param name="zonaInfo"></param>
        /// <returns></returns>
        public ZonaInfo ObtenerPorID(ZonaInfo zonaInfo)
        {
            ZonaInfo Info;

            try
            {
                Logger.Info();
                var zonaBL = new ZonaBL();
                Info = zonaBL.ObtenerPorID(zonaInfo);
                if (Info != null && Info.Pais != null && Info.Pais.PaisID != zonaInfo.Pais.PaisID)
                {
                    Info = null;
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(Info);
        }
예제 #2
0
        /// <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(txtDescripcion.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ZonaEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (Contexto.Pais.PaisID == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ZonaEdicion_MsgPaisRequerida;
                    skAyudaPais.Focus();
                }
                else
                {
                    int    zonaId      = Extensor.ValorEntero(txtZonaId.Text);
                    string descripcion = txtDescripcion.Text.Trim();

                    var      zonaBL = new ZonaBL();
                    ZonaInfo zona   = zonaBL.ObtenerPorDescripcion(descripcion);

                    if (zona != null && (zonaId == 0 || zonaId != zona.ZonaID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.ZonaEdicion_MsgDescripcionExistente,
                                                  zona.ZonaID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
예제 #3
0
 /// <summary>
 ///     Obtiene un zona por Id
 /// </summary>
 /// <param name="zonaInfo"></param>
 /// <returns></returns>
 public ZonaInfo ObtenerPorIdSinValidarPais(ZonaInfo zonaInfo)
 {
     try
     {
         Logger.Info();
         var zonaBl = new ZonaBL();
         return(zonaBl.ObtenerPorID(zonaInfo));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #4
0
        /// <summary>
        /// Obtiene la lista para mostrar en el grid
        /// </summary>
        private void ObtenerZonas(int inicio, int limite)
        {
            try
            {
                if (ucPaginacion.ContextoAnterior != null)
                {
                    bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior);
                    if (!contextosIguales)
                    {
                        ucPaginacion.Inicio = 1;
                        inicio = 1;
                    }
                }

                var zonaBL = new ZonaBL();
                var pagina = new PaginacionInfo {
                    Inicio = inicio, Limite = limite
                };
                ZonaInfo filtros = ObtenerFiltros();
                ResultadoInfo <ZonaInfo> resultadoInfo = zonaBL.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 <Zona>();
                }
            }
            catch (ExcepcionGenerica)
            {
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Zona_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Zona_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
            }
        }
예제 #5
0
        /// <summary>
        ///  Obtiene un lista paginada de zonas
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ResultadoInfo <ZonaInfo> ObtenerPorPagina(PaginacionInfo pagina, ZonaInfo filtro)
        {
            ResultadoInfo <ZonaInfo> Info;

            try
            {
                var zonaBL = new ZonaBL();
                Info = zonaBL.ObtenerPorPagina(pagina, filtro);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(Info);
        }
예제 #6
0
        /// <summary>
        /// Obtiene una entidad zona por su descripcion
        /// </summary>
        /// <param name="descripcion">Obtiene una entidad Zona por su Id</param>
        /// <returns></returns>
        public ZonaInfo ObtenerPorDescripcion(string descripcion)
        {
            ZonaInfo Info;

            try
            {
                Logger.Info();
                var zonaBL = new ZonaBL();
                Info = zonaBL.ObtenerPorDescripcion(descripcion);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(Info);
        }
예제 #7
0
        /// <summary>
        ///     Obtiene un zona por Id
        /// </summary>
        /// <param name="zonaId"></param>
        /// <returns></returns>
        public ZonaInfo ObtenerPorID(int zonaId)
        {
            ZonaInfo info;

            try
            {
                Logger.Info();
                var zonaBL = new ZonaBL();
                info = zonaBL.ObtenerPorID(zonaId);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
예제 #8
0
        /// <summary>
        /// Método para guardar los valores del contexto
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    var zonaBL = new ZonaBL();
                    zonaBL.Guardar(Contexto);
                    SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK,
                                      MessageImage.Correct);
                    if (Contexto.ZonaID != 0)
                    {
                        confirmaSalir = false;
                        Close();
                    }
                    else
                    {
                        InicializaContexto();
                        txtDescripcion.Focus();
                    }
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(this, Properties.Resources.Zona_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(this, Properties.Resources.Zona_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
            }
        }