/// <summary> /// Obtiene un Tratamiento Problema para ver si existe /// </summary> /// <param name="filtro">Objeto Info que contiene los filtros para buscar el Problema Tratamiento</param> /// <returns></returns> public ProblemaTratamientoInfo ObtenerProblemaTratamientoExiste(ProblemaTratamientoInfo filtro) { try { Logger.Info(); //var problemaDAL = new ProblemaTratamientoDAL(); //IQueryable<ProblemaTratamientoInfo> listaProblemas = problemaDAL.ObtenerTodos(); ProblemaTratamientoInfo result = da.Tabla <ProblemaTratamientoInfo>().FirstOrDefault( e => ( e.Activo == filtro.Activo && e.ProblemaID == filtro.ProblemaID && e.TratamientoID == filtro.Tratamiento.TratamientoID)); //ProblemaTratamientoInfo result = listaProblemas.FirstOrDefault( // e=> ( // e.Activo == filtro.Activo // && e.ProblemaID == filtro.ProblemaID // && e.Tratamiento.TratamientoID == // ) // ) return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar/Modificar una entidad ProblemaTratamiento /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(ProblemaTratamientoInfo info) { try { Logger.Info(); var id = 0; if (info.ProblemaTratamientoID > 0) { id = da.Actualizar <ProblemaTratamientoInfo>(info); problemaTratamientoAccessor.ActualizarFechaModificacion(info.ProblemaTratamientoID); } else { id = da.Insertar <ProblemaTratamientoInfo>(info); } return(id); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Constructor para editar una entidad ProblemaTratamiento Existente /// </summary> /// <param name="problemaTratamientoInfo"></param> public ProblemaTratamientoEdicion(ProblemaTratamientoInfo problemaTratamientoInfo) { InitializeComponent(); problemaTratamientoInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = problemaTratamientoInfo; skAyudaProblema.IsEnabled = false; skAyudaOrganizacion.IsEnabled = false; cmbSexo.IsEnabled = false; ituTratamiento.IsEnabled = false; //skAyudaTratamiento.IsEnabled = false; lblRequeridoProblema.Content = string.Empty; lblRequeridoSexo.Content = string.Empty; lblRequeridoTratamiento.Content = string.Empty; }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new ProblemaTratamientoInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), Problema = new ProblemaInfo(), Tratamiento = new TratamientoInfo(), Organizacion = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo { TipoOrganizacionID = SIE.Services.Info.Enums.TipoOrganizacion.Ganadera.GetHashCode() } } }; }
/// <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> /// Metodo para Guardar/Modificar una entidad ProblemaTratamiento /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(ProblemaTratamientoInfo info) { try { Logger.Info(); return(problemaTratamientoDAL.Guardar(info)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un Tratamiento Problema para ver si existe /// </summary> /// <param name="filtro">Objeto Info que contiene los filtros para buscar el Problema Tratamiento</param> /// <returns></returns> public ProblemaTratamientoInfo ObtenerProblemaTratamientoExiste(ProblemaTratamientoInfo filtro) { try { Logger.Info(); return(problemaTratamientoDAL.ObtenerProblemaTratamientoExiste(filtro)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaProblemaTratamiento(int inicio, int limite) { try { var problemaTratamientoBL = new ProblemaTratamientoBL(); ProblemaTratamientoInfo 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 <ProblemaTratamientoInfo> resultadoInfo = problemaTratamientoBL.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 <ProblemaTratamiento>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ProblemaTratamiento_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ProblemaTratamiento_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
/// <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(txtProblemaTratamientoID.Text)) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgProblemaTratamientoIDRequerida; txtProblemaTratamientoID.Focus(); } else if (Contexto.Tratamiento.Organizacion == null || Contexto.Tratamiento.Organizacion.OrganizacionID == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgErorrSinOrganizacion; skAyudaOrganizacion.AsignarFoco(); } else if (Contexto.Problema == null || Contexto.Problema.ProblemaID == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgProblemaIDRequerida; skAyudaProblema.AsignarFoco(); } else if (Contexto.Tratamiento.Sexo == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgSexoRequerida; cmbSexo.Focus(); } else if (Contexto.Tratamiento == null || Contexto.Tratamiento.CodigoTratamiento == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgTratamientoIDRequerida; //skAyudaTratamiento.AsignarFoco(); ituTratamiento.Focus(); } else if (Contexto.Tratamiento == null || Contexto.Tratamiento.TratamientoID == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgTratamientoIDRequerida; //skAyudaTratamiento.AsignarFoco(); ituTratamiento.Focus(); } else if (!ituDias.Value.HasValue || (ituDias.Value.HasValue && ituDias.Value.Value == 0) || Contexto.Dias == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgDiasRequerida; ituDias.Focus(); } else if (!ituOrden.Value.HasValue || (ituOrden.Value.HasValue && ituOrden.Value.Value == 0) || Contexto.Orden == 0) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgOrdenRequerida; ituOrden.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.ProblemaTratamientoEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int problemaTratamientoId = Extensor.ValorEntero(txtProblemaTratamientoID.Text); Contexto.ProblemaID = Contexto.Problema.ProblemaID; var problemaTratamientoBL = new ProblemaTratamientoBL(); ProblemaTratamientoInfo problemaTratamiento = problemaTratamientoBL.ObtenerProblemaTratamientoExiste(Contexto); if (problemaTratamiento != null && (problemaTratamientoId == 0 || problemaTratamientoId != problemaTratamiento.ProblemaTratamientoID)) { resultado = false; mensaje = string.Format(Properties.Resources.ProblemaTratamientoEdicion_MsgDescripcionExistente, problemaTratamiento.ProblemaTratamientoID); } } } 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 ProblemaTratamiento /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <ProblemaTratamientoInfo> ObtenerPorPagina(PaginacionInfo pagina, ProblemaTratamientoInfo filtro) { try { Logger.Info(); ResultadoInfo <ProblemaTratamientoInfo> result = new ResultadoInfo <ProblemaTratamientoInfo>(); var condicion = da.Tabla <ProblemaTratamientoInfo>().Where(e => e.Activo == filtro.Activo); if (filtro.ProblemaTratamientoID > 0) { condicion = condicion.Where(e => e.ProblemaTratamientoID == filtro.ProblemaTratamientoID); } if (filtro.Problema != null && filtro.Problema.ProblemaID > 0) { condicion = condicion.Where(e => e.ProblemaID == filtro.Problema.ProblemaID); } int inicio = pagina.Inicio; int limite = pagina.Limite; if (inicio > 1) { int limiteReal = (limite - inicio) + 1; inicio = (limite / limiteReal); limite = limiteReal; } IEnumerable <ProblemaTratamientoInfo> paginado; if (filtro.Tratamiento != null && filtro.Tratamiento.CodigoTratamiento > 0) { List <TratamientoInfo> listaTratamientos = ObtenerTratamientos().ToList(); //List<TratamientoInfo> condicionTratamiento = new List<TratamientoInfo>(); var condicionNueva = condicion.ToList(); if (filtro.Organizacion != null && filtro.Organizacion.OrganizacionID != 0) { var condicionTratamiento = (from con in condicionNueva join tra in listaTratamientos on con.TratamientoID equals tra.TratamientoID where tra.CodigoTratamiento == filtro.Tratamiento.CodigoTratamiento && tra.Organizacion.OrganizacionID == filtro.Organizacion.OrganizacionID select con).ToList(); result.TotalRegistros = condicionTratamiento.Count(); paginado = condicionTratamiento .OrderBy(e => e.ProblemaTratamientoID) .Skip((inicio - 1) * limite) .Take(limite); } else { var condicionTratamiento = (from con in condicionNueva join tra in listaTratamientos on con.TratamientoID equals tra.TratamientoID where tra.CodigoTratamiento == filtro.Tratamiento.CodigoTratamiento select con).ToList(); result.TotalRegistros = condicionTratamiento.Count(); paginado = condicionTratamiento .OrderBy(e => e.ProblemaTratamientoID) .Skip((inicio - 1) * limite) .Take(limite); } } else { if (filtro.Organizacion != null && filtro.Organizacion.OrganizacionID != 0) { List <TratamientoInfo> listaTratamientos = ObtenerTratamientos().ToList(); var condicionNueva = condicion.ToList(); var condicionTratamiento = (from con in condicionNueva join tra in listaTratamientos on con.TratamientoID equals tra.TratamientoID where tra.Organizacion.OrganizacionID == filtro.Organizacion.OrganizacionID select con).ToList(); result.TotalRegistros = condicionTratamiento.Count(); paginado = condicionTratamiento .OrderBy(e => e.ProblemaTratamientoID) .Skip((inicio - 1) * limite) .Take(limite); } else { result.TotalRegistros = condicion.Count(); paginado = condicion .OrderBy(e => e.ProblemaTratamientoID) .Skip((inicio - 1) * limite) .Take(limite); } } result.Lista = paginado.ToList(); CargarProblemas(result.Lista); CargarTratamientos(result.Lista); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una lista paginada de ProblemaTratamiento /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <ProblemaTratamientoInfo> ObtenerPorPagina(PaginacionInfo pagina, ProblemaTratamientoInfo filtro) { try { Logger.Info(); return(problemaTratamientoDAL.ObtenerPorPagina(pagina, filtro)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }