예제 #1
0
 /// <summary>
 /// Constructor para editar una entidad Enfermeria Existente
 /// </summary>
 /// <param name="enfermeriaInfo"></param>
 public EnfermeriaEdicion(EnfermeriaInfo enfermeriaInfo)
 {
     InitializeComponent();
     enfermeriaInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado();
     skAyudaOrganizacion.IsEnabled        = false;
     Contexto = enfermeriaInfo;
 }
예제 #2
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new EnfermeriaInfo
     {
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
         Corral            = new CorralInfo
         {
             Operador = new OperadorInfo
             {
                 Organizacion = new OrganizacionInfo
                 {
                     TipoOrganizacion =
                         new TipoOrganizacionInfo()
                 }
             },
             Organizacion = new OrganizacionInfo
             {
                 TipoOrganizacion = new TipoOrganizacionInfo()
             },
             TipoCorral = new TipoCorralInfo
             {
                 GrupoCorral = new GrupoCorralInfo()
             },
         },
         OrganizacionInfo = new OrganizacionInfo
         {
             TipoOrganizacion = new TipoOrganizacionInfo()
         },
     };
 }
예제 #3
0
 /// <summary>
 ///  Obtiene Parametros por Id
 /// </summary>
 /// <param name="filtro">Identificador de la entidad Enfermeria</param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosPorID(EnfermeriaInfo filtro)
 {
     try
     {
         Logger.Info();
         filtro.Organizacion     = string.IsNullOrWhiteSpace(filtro.Organizacion) ? "0" : filtro.Organizacion;
         filtro.OrganizacionInfo = filtro.OrganizacionInfo ?? new OrganizacionInfo
         {
             OrganizacionID =
                 int.Parse(filtro.Organizacion)
         };
         var parametros =
             new Dictionary <string, object>
         {
             { "@EnfermeriaID", filtro.EnfermeriaID },
             { "@OrganizacionID", filtro.OrganizacionInfo.OrganizacionID }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #4
0
 /// <summary>
 /// Metodo para Crear un registro de Enfermeria
 /// </summary>
 /// <param name="info">Valores de la entidad que será creada</param>
 public int Crear(EnfermeriaInfo info)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxEnfermeriaDAL.ObtenerParametrosCrear(info);
         int result = Create("Enfermeria_Crear", parameters);
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #5
0
 /// <summary>
 ///  Método que obtiene un registro
 /// </summary>
 /// <param name="ds"></param>
 /// <returns></returns>
 public static EnfermeriaInfo ObtenerPorDescripcion(DataSet ds)
 {
     try
     {
         Logger.Info();
         DataTable      dt      = ds.Tables[ConstantesDAL.DtDatos];
         EnfermeriaInfo entidad =
             (from info in dt.AsEnumerable()
              select
              new EnfermeriaInfo
         {
             EnfermeriaID = info.Field <int>("EnfermeriaID"),
             OrganizacionInfo =
                 new OrganizacionInfo
             {
                 OrganizacionID = info.Field <int>("OrganizacionID"),
                 Descripcion = info.Field <string>("Organizacion")
             },
             Descripcion = info.Field <string>("Descripcion"),
             Activo = info.Field <bool>("Activo").BoolAEnum(),
         }).First();
         return(entidad);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #6
0
 /// <summary>
 /// Obtiene un registro de Enfermeria
 /// </summary>
 /// <param name="descripcion">Descripción de la Enfermeria</param>
 /// <param name="organizacionID"> </param>
 /// <returns></returns>
 public EnfermeriaInfo ObtenerPorDescripcion(string descripcion, int organizacionID)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxEnfermeriaDAL.ObtenerParametrosPorDescripcion(descripcion, organizacionID);
         DataSet        ds     = Retrieve("Enfermeria_ObtenerPorDescripcion", parameters);
         EnfermeriaInfo result = null;
         if (ValidateDataSet(ds))
         {
             result = MapEnfermeriaDal.ObtenerPorDescripcion(ds);
         }
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #7
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new EnfermeriaInfo
     {
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
         OrganizacionInfo  = new OrganizacionInfo()
     };
     dgCorral.ItemsSource      = null;
     lbTipoCorral.SelectedItem = null;
     txtDescripcion.Focus();
 }
예제 #8
0
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (Contexto.OrganizacionInfo == null || Contexto.OrganizacionInfo.OrganizacionID == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.EnfermeriaEdicion_MsgOrganizacionIDRequerida;
                    skAyudaOrganizacion.AsignarFoco();
                }
                else if (string.IsNullOrWhiteSpace(Contexto.Descripcion))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.EnfermeriaEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.EnfermeriaEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    enfermeriaId   = Contexto.EnfermeriaID;
                    string descripcion    = Contexto.Descripcion;
                    int    organizacionID = Contexto.OrganizacionInfo.OrganizacionID;

                    var            enfermeriaPL = new EnfermeriaPL();
                    EnfermeriaInfo enfermeria   = enfermeriaPL.ObtenerPorDescripcion(descripcion, organizacionID);

                    if (enfermeria != null && (enfermeriaId == 0 || enfermeriaId != enfermeria.EnfermeriaID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.EnfermeriaEdicion_MsgDescripcionExistente, enfermeria.EnfermeriaID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
예제 #9
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;
         }
     }
 }
예제 #10
0
        private void GuardarEnfermeriaCorrales(EnfermeriaInfo info, int enfermeriaID)
        {
            var enfermeriaCorralDAL = new EnfermeriaCorralDAL();
            List <EnfermeriaCorralInfo> listaEnfermeriasCorral =
                enfermeriaCorralDAL.ObtenerCorralesPorEnfermeriaID(enfermeriaID);

            var  listaEnfermeriasCorralGuardar = new List <EnfermeriaCorralInfo>();
            bool tieneCorrales = listaEnfermeriasCorral != null;

            foreach (var corral in info.Corrales)
            {
                var enfermeriaCorralGuardar = new EnfermeriaCorralInfo();
                if (tieneCorrales)
                {
                    var enfermeriaCorralExistente =
                        listaEnfermeriasCorral.FirstOrDefault(enf => enf.Corral.CorralID == corral.CorralID);
                    if (enfermeriaCorralExistente != null)
                    {
                        if (enfermeriaCorralExistente.Activo == corral.Activo)
                        {
                            continue;
                        }
                        enfermeriaCorralGuardar.EnfermeriaCorralID    = enfermeriaCorralExistente.EnfermeriaCorralID;
                        enfermeriaCorralGuardar.UsuarioModificacionID = corral.UsuarioCreacionID;
                    }
                    else
                    {
                        enfermeriaCorralGuardar.UsuarioCreacionID = corral.UsuarioCreacionID;
                    }
                }
                else
                {
                    enfermeriaCorralGuardar.UsuarioCreacionID = corral.UsuarioCreacionID;
                }
                enfermeriaCorralGuardar.Activo       = corral.Activo;
                enfermeriaCorralGuardar.EnfermeriaID = enfermeriaID;
                enfermeriaCorralGuardar.CorralID     = corral.CorralID;
                listaEnfermeriasCorralGuardar.Add(enfermeriaCorralGuardar);
            }
            if (listaEnfermeriasCorralGuardar.Any())
            {
                enfermeriaCorralDAL.GuardarEnfermeriaCorral(listaEnfermeriasCorralGuardar, enfermeriaID);
            }
        }
예제 #11
0
 /// <summary>
 /// Evento cambio de seleccion de grid principal
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void GridResultado_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         var gridPartidas = (DataGrid)sender;
         if (gridPartidas.SelectedIndex >= 0)
         {
             corralSeleccionado = ((EnfermeriaInfo)gridPartidas.SelectedItem);
         }
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #12
0
        /// <summary>
        /// Metodo para Guardar/Modificar una entidad Enfermeria
        /// </summary>
        /// <param name="info"></param>
        public int Guardar(EnfermeriaInfo info)
        {
            try
            {
                int result = info.EnfermeriaID;
                using (var scope = new TransactionScope())
                {
                    Logger.Info();
                    var enfermeriaDAL = new EnfermeriaDAL();

                    if (info.EnfermeriaID == 0)
                    {
                        result = enfermeriaDAL.Crear(info);
                    }
                    else
                    {
                        enfermeriaDAL.Actualizar(info);
                        if (info.Activo == EstatusEnum.Inactivo)
                        {
                            info.Corrales = null;
                            InactivarEnfermeriaCorralYSupervisorEnfermeria(info.EnfermeriaID);
                        }
                    }

                    if (info.Corrales != null && info.Corrales.Any())
                    {
                        GuardarEnfermeriaCorrales(info, result);
                    }

                    scope.Complete();
                }
                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
예제 #13
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad Enfermeria
 /// </summary>
 /// <param name="info">Representa la entidad que se va a grabar</param>
 public int Guardar(EnfermeriaInfo info)
 {
     try
     {
         Logger.Info();
         var enfermeriaBL = new EnfermeriaBL();
         int result       = enfermeriaBL.Guardar(info);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #14
0
 /// <summary>
 /// Obtiene una entidad Enfermeria por su Id
 /// </summary>
 /// <param name="filtro">Obtiene una entidad Enfermeria por su Id</param>
 /// <returns></returns>
 public EnfermeriaInfo ObtenerPorID(EnfermeriaInfo filtro)
 {
     try
     {
         Logger.Info();
         var            enfermeriaDAL = new EnfermeriaDAL();
         EnfermeriaInfo result        = enfermeriaDAL.ObtenerPorID(filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #15
0
 /// <summary>
 /// Obtiene una entidad por su descripción
 /// </summary>
 /// <param name="descripcion"></param>
 /// <param name="organizacionID"> </param>
 /// <returns></returns>
 public EnfermeriaInfo ObtenerPorDescripcion(string descripcion, int organizacionID)
 {
     try
     {
         Logger.Info();
         var            enfermeriaBL = new EnfermeriaBL();
         EnfermeriaInfo result       = enfermeriaBL.ObtenerPorDescripcion(descripcion, organizacionID);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #16
0
 /// <summary>
 /// Obtiene parametros para crear
 /// </summary>
 /// <param name="info">Valores de la entidad</param>
 /// <returns></returns>
 public static Dictionary <string, object> ObtenerParametrosCrear(EnfermeriaInfo info)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@OrganizacionID", info.Organizacion },
             { "@Descripcion", info.Descripcion },
             { "@Activo", info.Activo },
             { "@UsuarioCreacionID", info.UsuarioCreacionID },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #17
0
        /// <summary>
        ///     Obtiene un CostoInfo por Id
        /// </summary>
        /// <param name="enfermeriaInfo"></param>
        /// <returns></returns>
        public EnfermeriaInfo ObtenerPorID(EnfermeriaInfo enfermeriaInfo)
        {
            EnfermeriaInfo info;

            try
            {
                Logger.Info();
                var enfermeriaBL = new EnfermeriaBL();
                info = enfermeriaBL.ObtenerPorID(enfermeriaInfo);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(info);
        }
예제 #18
0
 /// <summary>
 /// Metodo para actualizar un registro de Enfermeria
 /// </summary>
 /// <param name="info">Valores de la entidad que se actualizarán</param>
 public void Actualizar(EnfermeriaInfo info)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxEnfermeriaDAL.ObtenerParametrosActualizar(info);
         Update("Enfermeria_Actualizar", parameters);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #19
0
 /// <summary>
 ///     Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal ResultadoInfo <EnfermeriaInfo> ObtenerPorPagina(PaginacionInfo pagina, EnfermeriaInfo filtro)
 {
     try
     {
         Dictionary <string, object> parameters = AuxEnfermeriaDAL.ObtenerParametrosPorPagina(pagina, filtro);
         DataSet ds = Retrieve("[dbo].[Enfermeria_ObtenerPorPagina]", parameters);
         ResultadoInfo <EnfermeriaInfo> result = null;
         if (ValidateDataSet(ds))
         {
             result = MapEnfermeriaDal.ObtenerPorPagina(ds);
         }
         return(result);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #20
0
        /// <summary>
        ///     Obtiene un lista paginada
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ResultadoInfo <EnfermeriaInfo> ObtenerPorPagina(PaginacionInfo pagina, EnfermeriaInfo filtro)
        {
            try
            {
                Logger.Info();
                var cuentaBL = new EnfermeriaBL();
                ResultadoInfo <EnfermeriaInfo> result = cuentaBL.ObtenerPorPagina(pagina, filtro);

                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }