/// <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(); }
/// <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); } }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new ProblemaInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), TipoProblema = new TipoProblemaInfo() }; }
/// <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); }
/// <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); } }
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; } }
/// <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> /// 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; } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }