예제 #1
0
 /// <summary>
 /// Constructor para editar una entidad Problema Existente
 /// </summary>
 /// <param name="problemaInfo"></param>
 public ProblemaEdicion(ProblemaInfo problemaInfo)
 {
     InitializeComponent();
     problemaInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado();
     Contexto = problemaInfo;
     CargaComboTipoProblema();
 }
예제 #2
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad Problema
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 public int Guardar(ProblemaInfo info)
 {
     try
     {
         Logger.Info();
         var id = 0;
         if (info.ProblemaID > 0)
         {
             id = da.Actualizar <ProblemaInfo>(info);
             problemaAccessor.ActualizaFechaModificacion(info.ProblemaID);
         }
         else
         {
             id = da.Insertar <ProblemaInfo>(info);
         }
         return(id);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #3
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new ProblemaInfo
     {
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
         TipoProblema      = new TipoProblemaInfo()
     };
 }
예제 #4
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(Contexto.Descripcion))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ProblemaEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (Contexto.TipoProblema.TipoProblemaId == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ProblemaEdicion_MsgTipoProblemaIDRequerida;
                    cmbTipoProblema.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.ProblemaEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    problemaId  = Contexto.ProblemaID;
                    string descripcion = Contexto.Descripcion;

                    using (var problemaBL = new ProblemaBL())
                    {
                        ProblemaInfo problema = problemaBL.ObtenerPorDescripcion(descripcion);

                        if (problema != null && (problemaId == 0 || problemaId != problema.ProblemaID))
                        {
                            resultado = false;
                            mensaje   = string.Format(Properties.Resources.ProblemaEdicion_MsgDescripcionExistente,
                                                      problema.ProblemaID);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
예제 #5
0
        /// <summary>
        /// Obtiene una lista paginada de Problema
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ResultadoInfo <ProblemaInfo> ObtenerPorPagina(PaginacionInfo pagina, ProblemaInfo filtro)
        {
            try
            {
                Logger.Info();
                ResultadoInfo <ProblemaInfo> result = new ResultadoInfo <ProblemaInfo>();
                var condicion = da.Tabla <ProblemaInfo>().Where(e => e.Activo == filtro.Activo);
                if (filtro.ProblemaID > 0)
                {
                    condicion = condicion.Where(e => e.ProblemaID == filtro.ProblemaID);
                }
                if (!string.IsNullOrEmpty(filtro.Descripcion))
                {
                    condicion = condicion.Where(e => e.Descripcion.Contains(filtro.Descripcion));
                }
                if (filtro.TipoProblema != null && filtro.TipoProblema.TipoProblemaId > 0)
                {
                    condicion = condicion.Where(e => e.TipoProblemaID == filtro.TipoProblema.TipoProblemaId);
                }
                result.TotalRegistros = condicion.Count();

                int inicio = pagina.Inicio;
                int limite = pagina.Limite;
                if (inicio > 1)
                {
                    int limiteReal = (limite - inicio) + 1;
                    inicio = (limite / limiteReal);
                    limite = limiteReal;
                }
                var paginado = condicion
                               .OrderBy(e => e.Descripcion)
                               .Skip((inicio - 1) * limite)
                               .Take(limite);


                result.Lista = paginado.ToList();

                CargarTiposProblema(result.Lista);

                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
예제 #6
0
        private void CargarProblemas(IEnumerable <ProblemaTratamientoInfo> lista)
        {
            var problemaDAL = new ProblemaDAL();
            IQueryable <ProblemaInfo> listaProblemas = problemaDAL.ObtenerTodos();

            foreach (ProblemaTratamientoInfo problemaTratamiento in lista)
            {
                ProblemaInfo problema =
                    listaProblemas.FirstOrDefault(pro => pro.ProblemaID == problemaTratamiento.ProblemaID);
                if (problema == null)
                {
                    continue;
                }
                problemaTratamiento.Problema = problema;
            }
        }
예제 #7
0
 /// <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;
         }
     }
 }
예제 #8
0
        /// <summary>
        /// Carga los objetos de Problema de la lista ProblemaSintoma
        /// </summary>
        /// <returns></returns>
        private void CargarProblemas(IEnumerable <ProblemaSintomaInfo> lista)
        {
            var problemaDAL = new ProblemaDAL();
            IList <ProblemaInfo> listaProblemas = problemaDAL.ObtenerTodosCompleto();

            foreach (var problemaSintoma in lista)
            {
                ProblemaInfo problema =
                    listaProblemas.FirstOrDefault(pro => pro.ProblemaID == problemaSintoma.ProblemaID);
                if (problema == null)
                {
                    continue;
                }
                problemaSintoma.Problema = problema;
            }
        }
예제 #9
0
 /// <summary>
 /// Obtiene una lista paginada de Problema
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public ResultadoInfo <ProblemaInfo> ObtenerPorPagina(PaginacionInfo pagina, ProblemaInfo filtro)
 {
     try
     {
         Logger.Info();
         return(problemaDAL.ObtenerPorPagina(pagina, filtro));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #10
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad Problema
 /// </summary>
 /// <param name="info"></param>
 /// <returns></returns>
 public int Guardar(ProblemaInfo info)
 {
     try
     {
         Logger.Info();
         return(problemaDAL.Guardar(info));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #11
0
 /// <summary>
 /// Obtiene una entidad de Problema por su Id
 /// </summary>
 /// <param name="filtro">Obtiene una entidad Problema por su Id</param>
 /// <returns></returns>
 public ProblemaInfo ObtenerPorIDTipoProblema(ProblemaInfo filtro)
 {
     try
     {
         Logger.Info();
         return(problemaDAL.ObtenerTodosCompleto().FirstOrDefault(e => e.ProblemaID == filtro.ProblemaID && (e.TipoProblemaID == filtro.TipoProblema.TipoProblemaId || filtro.TipoProblema.TipoProblemaId == 0)));
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #12
0
 /// <summary>
 /// Obtiene una entidad de Problema por su Id
 /// </summary>
 /// <param name="filtro">Obtiene una entidad Problema por su Id</param>
 /// <returns></returns>
 public ProblemaInfo ObtenerPorID(ProblemaInfo filtro)
 {
     try
     {
         Logger.Info();
         return(problemaDAL.ObtenerTodos().Where(e => e.ProblemaID == filtro.ProblemaID).FirstOrDefault());
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }