/// <summary> /// Constructor para editar una entidad SupervisorEnfermeria Existente /// </summary> /// <param name="supervisorEnfermeriaInfo"></param> public SupervisorEnfermeriaEdicion(SupervisorEnfermeriaInfo supervisorEnfermeriaInfo) { InitializeComponent(); organizacionID = supervisorEnfermeriaInfo.Organizacion.OrganizacionID; OrganizacionInfo organizacion = supervisorEnfermeriaInfo.Organizacion; AgregaAyudas(); supervisorEnfermeriaInfo.Organizacion = organizacion; supervisorEnfermeriaInfo.Enfermeria.OrganizacionInfo = organizacion; supervisorEnfermeriaInfo.Operador.Organizacion = organizacion; supervisorEnfermeriaInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = supervisorEnfermeriaInfo; skAyudaOrganizacion.IsEnabled = false; }
/// <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> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaSupervisorEnfermeria(int inicio, int limite) { try { if (Contexto.Organizacion.OrganizacionID == 0) { AsignaValoresVaciosGrid(); return; } var supervisorEnfermeriaPL = new SupervisorEnfermeriaBL(); SupervisorEnfermeriaInfo 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 <SupervisorEnfermeriaInfo> resultadoInfo = supervisorEnfermeriaPL.ObtenerPorPagina(pagina, filtros); if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0) { gridDatos.ItemsSource = resultadoInfo.Lista; ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros; } else { AsignaValoresVaciosGrid(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SupervisorEnfermeria_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SupervisorEnfermeria_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
///// <summary> ///// Obtiene una entidad de SupervisorEnfermeria por su descripcion ///// </summary> ///// <param name="descripcion">Obtiene una entidad SupervisorEnfermeria por su descripcion</param> ///// <returns></returns> //public SupervisorEnfermeriaInfo ObtenerPorDescripcion(string descripcion) //{ // try // { // Logger.Info(); // return supervisorEnfermeriaDAL.ObtenerTodos().Where(e=> e.SupervisorEnfermeriaID.ToLower() == descripcion.ToLower()).FirstOrDefault(); // } // catch(ExcepcionGenerica) // { // throw; // } // catch(Exception ex) // { // Logger.Error(ex); // throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); // } //} /// <summary> /// Metodo para Guardar/Modificar una entidad SupervisorEnfermeria /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(SupervisorEnfermeriaInfo info) { try { Logger.Info(); return(supervisorEnfermeriaDAL.Guardar(info)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad de SupervisorEnfermeria por su Id /// </summary> /// <param name="filtro">Obtiene una entidad SupervisorEnfermeria por su Id</param> /// <returns></returns> public SupervisorEnfermeriaInfo ObtenerPorEnfermeriaOperador(SupervisorEnfermeriaInfo filtro) { try { Logger.Info(); return(supervisorEnfermeriaDAL.ObtenerPorEnfermeriaOperador(filtro)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad de SupervisorEnfermeria por su Id /// </summary> /// <param name="filtro">Obtiene una entidad SupervisorEnfermeria por EnfermeríaId y OperadorId</param> /// <returns></returns> public SupervisorEnfermeriaInfo ObtenerPorEnfermeriaOperador(SupervisorEnfermeriaInfo filtro) { try { Logger.Info(); return(this.ObtenerTodos().FirstOrDefault(e => e.EnfermeriaID == filtro.Enfermeria.EnfermeriaID && e.OperadorID == filtro.Operador.OperadorID )); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { organizacionID = AuxConfiguracion.ObtenerOrganizacionUsuario(); var organizacion = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo { TipoOrganizacionID = Services.Info.Enums.TipoOrganizacion.Ganadera.GetHashCode() } }; Contexto = new SupervisorEnfermeriaInfo { Organizacion = organizacion, Enfermeria = InicializaEnfermeria(organizacion), Operador = InicializaOpeador(organizacion), UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), }; }
/// <summary> /// Metodo para Guardar/Modificar una entidad SupervisorEnfermeria /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(SupervisorEnfermeriaInfo info) { try { Logger.Info(); var id = 0; if (info.SupervisorEnfermeriaID > 0) { info.FechaModificacion = da.FechaServidor(); id = da.Actualizar <SupervisorEnfermeriaInfo>(info); //da.Actualizar<SupervisorEnfermeriaInfo>( // e => e.SupervisorEnfermeriaID == info.SupervisorEnfermeriaID // , e => new SupervisorEnfermeriaInfo() // { // EnfermeriaID = info.EnfermeriaID, // OperadorID = info.OperadorID, // Activo = info.Activo // } // ); } else { id = da.Insertar <SupervisorEnfermeriaInfo>(info); } return(id); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <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(txtSupervisorEnfermeriaID.Text)) { resultado = false; mensaje = Properties.Resources.SupervisorEnfermeriaEdicion_MsgSupervisorEnfermeriaIDRequerida; txtSupervisorEnfermeriaID.Focus(); } else if (Contexto.Organizacion.OrganizacionID == 0) { resultado = false; mensaje = Properties.Resources.SupervisorEnfermeriaEdicion_MsgOrganizacicionRequerida; skAyudaOrganizacion.AsignarFoco(); } else if (Contexto.Enfermeria.EnfermeriaID == 0) { resultado = false; mensaje = Properties.Resources.SupervisorEnfermeriaEdicion_MsgEnfermeriaIDRequerida; skAyudaEnfermeria.AsignarFoco(); } else if (Contexto.Operador.OperadorID == 0) { resultado = false; mensaje = Properties.Resources.SupervisorEnfermeriaEdicion_MsgOperadorIDRequerida; skAyudaOperador.AsignarFoco(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.SupervisorEnfermeriaEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int supervisorEnfermeriaId = Extensor.ValorEntero(txtSupervisorEnfermeriaID.Text); var supervisorEnfermeriaBL = new SupervisorEnfermeriaBL(); SupervisorEnfermeriaInfo supervisorEnfermeria = supervisorEnfermeriaBL.ObtenerPorEnfermeriaOperador(Contexto); if (supervisorEnfermeria != null && (supervisorEnfermeriaId == 0 || supervisorEnfermeriaId != supervisorEnfermeria.SupervisorEnfermeriaID)) { resultado = false; mensaje = string.Format(Properties.Resources.SupervisorEnfermeriaEdicion_MsgDescripcionExistente, supervisorEnfermeria.SupervisorEnfermeriaID); } } } 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 SupervisorEnfermeria /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <SupervisorEnfermeriaInfo> ObtenerPorPagina(PaginacionInfo pagina, SupervisorEnfermeriaInfo filtro) { try { Logger.Info(); ResultadoInfo <SupervisorEnfermeriaInfo> lista = supervisorEnfermeriaDAL.ObtenerPorPagina(pagina, filtro); var listaOperador = new OperadorBL().ObtenerTodos(); foreach (var registro in lista.Lista) { registro.Enfermeria = new EnfermeriaBL().ObtenerPorID(registro.EnfermeriaID); registro.Operador = listaOperador.FirstOrDefault(e => e.OperadorID == registro.OperadorID); } return(lista); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una lista paginada de SupervisorEnfermeria /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <SupervisorEnfermeriaInfo> ObtenerPorPagina(PaginacionInfo pagina, SupervisorEnfermeriaInfo filtro) { try { Logger.Info(); var result = new ResultadoInfo <SupervisorEnfermeriaInfo>(); List <SupervisorEnfermeriaInfo> condicion = supervisorEnfermeriaAccessor.ObtenerPorPagina( filtro.Enfermeria.OrganizacionInfo.OrganizacionID, filtro.SupervisorEnfermeriaID, filtro.OperadorID, filtro.EnfermeriaID, filtro.Activo == EstatusEnum.Activo ); 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.SupervisorEnfermeriaID) .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); } }