/// <summary>
 /// Metodo para Guardar/Modificar una entidad TipoObservacion
 /// </summary>
 /// <param name="info"></param>
 public int Guardar(TipoObservacionInfo info)
 {
     try
     {
         Logger.Info();
         var tipoObservacionDAL = new TipoObservacionDAL();
         int result             = info.TipoObservacionID;
         if (info.TipoObservacionID == 0)
         {
             result = tipoObservacionDAL.Crear(info);
         }
         else
         {
             tipoObservacionDAL.Actualizar(info);
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene un lista de TipoObservacion
 /// </summary>
 /// <returns></returns>
 public IList <TipoObservacionInfo> ObtenerTodos()
 {
     try
     {
         Logger.Info();
         var tipoObservacionDAL             = new TipoObservacionDAL();
         IList <TipoObservacionInfo> result = tipoObservacionDAL.ObtenerTodos();
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     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 <TipoObservacionInfo> ObtenerPorPagina(PaginacionInfo pagina, TipoObservacionInfo filtro)
 {
     try
     {
         Logger.Info();
         var tipoObservacionDAL = new TipoObservacionDAL();
         ResultadoInfo <TipoObservacionInfo> result = tipoObservacionDAL.ObtenerPorPagina(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
 /// <summary>
 /// Obtiene una entidad de Observacion
 /// </summary>
 /// <param name="tipoObservacion">Obtiene una entidad Observacion</param>
 /// <returns></returns>
 public TipoObservacionInfo ObtenerPorTipoObservacion(TipoObservacionInfo tipoObservacion)
 {
     try
     {
         Logger.Info();
         var tipoObservacionDAL     = new TipoObservacionDAL();
         TipoObservacionInfo result = tipoObservacionDAL.ObtenerPorID(tipoObservacion.TipoObservacionID);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }