/// <summary> /// Metodo para Guardar/Modificar una entidad Sintoma /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(SintomaInfo info) { try { Logger.Info(); int id; if (info.SintomaID > 0) { info.FechaModificacion = da.FechaServidor(); id = da.Actualizar <SintomaInfo>(info); //sintomaAccessor.ActualizarFechaModificacion(info.SintomaID); } else { id = da.Insertar <SintomaInfo>(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 SintomaInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), }; }
/// <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(txtSintomaID.Text)) { resultado = false; mensaje = Properties.Resources.SintomaEdicion_MsgSintomaIDRequerida; txtSintomaID.Focus(); } else if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || Contexto.Descripcion == string.Empty) { resultado = false; mensaje = Properties.Resources.SintomaEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.SintomaEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int sintomaId = Extensor.ValorEntero(txtSintomaID.Text); string descripcion = txtDescripcion.Text; var sintomaBL = new SintomaBL(); SintomaInfo sintoma = sintomaBL.ObtenerPorDescripcion(descripcion); if (sintoma != null && (sintomaId == 0 || sintomaId != sintoma.SintomaID)) { resultado = false; mensaje = string.Format(Properties.Resources.SintomaEdicion_MsgDescripcionExistente, sintoma.SintomaID); } } } 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 la lista para mostrar en el grid /// </summary> private void ObtenerListaSintoma(int inicio, int limite) { try { var sintomaBL = new SintomaBL(); if (!string.IsNullOrWhiteSpace(Contexto.Descripcion) || !string.IsNullOrWhiteSpace(descripcionAnterior)) { if (string.Compare(Contexto.Descripcion, descripcionAnterior, StringComparison.CurrentCultureIgnoreCase) != 0) { inicio = 1; ucPaginacion.Inicio = 1; } } descripcionAnterior = Contexto.Descripcion; SintomaInfo filtros = ObtenerFiltros(); if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <SintomaInfo> resultadoInfo = sintomaBL.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 <Sintoma>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Sintoma_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Sintoma_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
public void CuentaGuardarDescripcionExistente() { var bl = new SIE.Services.Servicios.BL.SintomaBL(); SintomaInfo sintoma = null; try { sintoma = bl.ObtenerPorDescripcion("Dificultadad para Respirar"); var lista = bl.ObtenerPorProblema(1); } catch (Exception) { Assert.AreEqual(sintoma.SintomaID, 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; } } }
/// <summary> /// Carga los objetos de Sintoma de la lista ProblemaSintoma /// </summary> /// <returns></returns> private void CargarSintomas(IEnumerable <ProblemaSintomaInfo> lista) { var sintomaDAL = new SintomaDAL(); IQueryable <SintomaInfo> listaSintomas = sintomaDAL.ObtenerTodos(); foreach (var problemaSintoma in lista) { SintomaInfo sintoma = listaSintomas.FirstOrDefault(pro => pro.SintomaID == problemaSintoma.SintomaID); if (sintoma == null) { continue; } problemaSintoma.Sintoma = sintoma; } }
/// <summary> /// Obtiene una lista paginada de Sintoma /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <SintomaInfo> ObtenerPorPagina(PaginacionInfo pagina, SintomaInfo filtro) { try { Logger.Info(); return(sintomaDAL.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 Sintoma /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(SintomaInfo info) { try { Logger.Info(); return(sintomaDAL.Guardar(info)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad de Sintoma por su Id /// </summary> /// <param name="sintoma">Obtiene una entidad Sintoma por su Id</param> /// <returns></returns> public SintomaInfo ObtenerPorID(SintomaInfo sintoma) { try { Logger.Info(); return(sintomaDAL.ObtenerTodos().FirstOrDefault(e => e.SintomaID == sintoma.SintomaID)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una lista paginada de Sintoma /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <SintomaInfo> ObtenerPorPagina(PaginacionInfo pagina, SintomaInfo filtro) { try { Logger.Info(); var result = new ResultadoInfo <SintomaInfo>(); var condicion = da.Tabla <SintomaInfo>().Where(e => e.Activo == filtro.Activo); if (filtro.SintomaID > 0) { condicion = condicion.Where(e => e.SintomaID == filtro.SintomaID); } if (!string.IsNullOrEmpty(filtro.Descripcion)) { condicion = condicion.Where(e => e.Descripcion.Contains(filtro.Descripcion)); } 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(); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Constructor para editar una entidad Sintoma Existente /// </summary> /// <param name="sintomaInfo"></param> public SintomaEdicion(SintomaInfo sintomaInfo) { InitializeComponent(); sintomaInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = sintomaInfo; }