예제 #1
0
        public bool CancelaEstudio(INCIDENTE Incidente, short TipoMensaje, short IdEstudio)
        {
            try
            {
                if (Incidente == null)
                {
                    return(false);
                }

                using (System.Transactions.TransactionScope transaccion = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.RequiresNew, new System.Transactions.TransactionOptions()
                {
                    IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
                }))
                {
                    string NombreImputado        = string.Empty;
                    var    _consecutivoIncidente = GetIDProceso <short>("INCIDENTE", "ID_INCIDENTE", string.Format("ID_CENTRO = {0} AND ID_ANIO = {1} AND ID_IMPUTADO = {2} AND ID_INGRESO = {3}", Incidente.ID_CENTRO, Incidente.ID_ANIO, Incidente.ID_IMPUTADO, Incidente.ID_INGRESO));

                    var Imputado = Context.IMPUTADO.FirstOrDefault(x => x.ID_IMPUTADO == Incidente.ID_IMPUTADO && x.ID_ANIO == Incidente.ID_ANIO && x.ID_CENTRO == Incidente.ID_CENTRO);
                    var Incident = new INCIDENTE()
                    {
                        AUTORIZACION_FEC  = Incidente.AUTORIZACION_FEC,
                        ESTATUS           = Incidente.ESTATUS,
                        ID_ANIO           = Incidente.ID_ANIO,
                        ID_IMPUTADO       = Incidente.ID_IMPUTADO,
                        REGISTRO_FEC      = Incidente.REGISTRO_FEC,
                        ID_CENTRO         = Incidente.ID_CENTRO,
                        ID_INGRESO        = Incidente.ID_INGRESO,
                        MOTIVO            = Incidente.MOTIVO,
                        ID_INCIDENTE_TIPO = Incidente.ID_INCIDENTE_TIPO,
                        ID_INCIDENTE      = _consecutivoIncidente
                    };

                    var _EstudiosPersonalidadProgramados = Context.PERSONALIDAD.FirstOrDefault(x => x.ID_ESTUDIO == IdEstudio && x.ID_INGRESO == Incidente.ID_INGRESO && x.ID_IMPUTADO == Incidente.ID_IMPUTADO && Incidente.ID_ANIO == Incidente.ID_ANIO && x.ID_CENTRO == Incidente.ID_CENTRO);

                    if (_EstudiosPersonalidadProgramados != null)
                    {
                        _EstudiosPersonalidadProgramados.ID_SITUACION = (short)eEstatudDetallePersonalidad.CANCELADO;
                        if (_EstudiosPersonalidadProgramados.PERSONALIDAD_DETALLE != null)
                        {
                            if (_EstudiosPersonalidadProgramados.PERSONALIDAD_DETALLE.Any())
                            {
                                foreach (var item in _EstudiosPersonalidadProgramados.PERSONALIDAD_DETALLE)
                                {
                                    item.ID_ESTATUS = (short)eEstatudDetallePersonalidad.CANCELADO;
                                }
                            }
                        }

                        Context.Entry(_EstudiosPersonalidadProgramados).State = System.Data.EntityState.Modified;

                        NombreImputado = string.Format("{0} / {1} {2} {3} {4}",
                                                       Imputado != null ? Imputado.ID_ANIO.ToString() : string.Empty,
                                                       Imputado != null ? Imputado.ID_IMPUTADO.ToString() : string.Empty,
                                                       Imputado != null ? !string.IsNullOrEmpty(Imputado.NOMBRE) ? Imputado.NOMBRE.Trim() : string.Empty : string.Empty,
                                                       Imputado != null ? !string.IsNullOrEmpty(Imputado.PATERNO) ? Imputado.PATERNO.Trim() : string.Empty : string.Empty,
                                                       Imputado != null ? !string.IsNullOrEmpty(Imputado.MATERNO) ? Imputado.MATERNO.Trim() : string.Empty : string.Empty);

                        System.DateTime _fecha = GetFechaServerDate();
                        var             _MensajeConsiderado = Context.MENSAJE_TIPO.FirstOrDefault(x => x.ID_MEN_TIPO == TipoMensaje);
                        string          _Nombre             = string.Empty;
                        var             _id_mensaje         = GetIDProceso <int>("MENSAJE", "ID_MENSAJE", "1=1");
                        if (_MensajeConsiderado != null)
                        {
                            if (_id_mensaje != decimal.Zero)
                            {
                                var NvoMensaje = new MENSAJE()
                                {
                                    CONTENIDO    = string.Format("{0} {1} {2} \n BAJO EL SIGUIENTE MOTIVO: {3}", _MensajeConsiderado.CONTENIDO, " PARA EL IMPUTADO \n ", NombreImputado, Incident.MOTIVO),
                                    ENCABEZADO   = _MensajeConsiderado.ENCABEZADO,
                                    ID_MEN_TIPO  = _MensajeConsiderado.ID_MEN_TIPO,
                                    ID_MENSAJE   = _id_mensaje,
                                    REGISTRO_FEC = _fecha,
                                    ID_CENTRO    = GlobalVariables.gCentro
                                };

                                Context.MENSAJE.Add(NvoMensaje);
                            }
                        }
                        ;
                    }
                    ;

                    Context.SaveChanges();
                    transaccion.Complete();
                    return(true);
                }
            }
            catch (System.Exception exc)
            {
                throw new System.ApplicationException(exc.Message);
            }
        }
        private bool GuardarLibertadBiometrica(string Incidente)
        {
            try
            {
                if (SelectedLiberacion == null)
                {
                    new Dialogos().ConfirmacionDialogo("Validación", "Favor de seleccionar un ingreso");
                    return(false);
                }
                var ingreso = new INGRESO();
                ingreso.ID_CENTRO   = SelectedLiberacion.Ingreso.ID_CENTRO;
                ingreso.ID_ANIO     = SelectedLiberacion.Ingreso.ID_ANIO;
                ingreso.ID_IMPUTADO = SelectedLiberacion.Ingreso.ID_IMPUTADO;
                ingreso.ID_INGRESO  = SelectedLiberacion.Ingreso.ID_INGRESO;
                ingreso.ID_ESTATUS_ADMINISTRATIVO = (short)enumEstatusAdministrativo.LIBERADO;
                //ubicacion
                ingreso.ID_UB_CENTRO      = SelectedLiberacion.Ingreso.ID_UB_CENTRO;
                ingreso.ID_UB_EDIFICIO    = SelectedLiberacion.Ingreso.ID_UB_EDIFICIO;
                ingreso.ID_UB_SECTOR      = SelectedLiberacion.Ingreso.ID_UB_SECTOR;
                ingreso.ID_UB_CELDA       = SelectedLiberacion.Ingreso.ID_UB_CELDA;
                ingreso.ID_UB_CAMA        = SelectedLiberacion.Ingreso.ID_UB_CAMA;
                ingreso.FEC_SALIDA_CERESO = Fechas.GetFechaDateServer;

                var incidente = new INCIDENTE();
                if (Incidente == "S")
                {
                    incidente.ID_CENTRO         = SelectedLiberacion.Ingreso.ID_CENTRO;
                    incidente.ID_ANIO           = SelectedLiberacion.Ingreso.ID_ANIO;
                    incidente.ID_IMPUTADO       = SelectedLiberacion.Ingreso.ID_IMPUTADO;
                    incidente.ID_INGRESO        = SelectedLiberacion.Ingreso.ID_INGRESO;
                    incidente.ID_INCIDENTE_TIPO = 1;//cambiarlo
                    incidente.REGISTRO_FEC      = ingreso.FEC_SALIDA_CERESO;
                    incidente.MOTIVO            = string.Format("Libertad sin validación de huellas por el usuario {0}", GlobalVar.gUsr);
                    incidente.ESTATUS           = "C";
                    incidente.AUTORIZACION_FEC  = ingreso.FEC_SALIDA_CERESO;
                }

                var biometria = new INGRESO_BIOMETRICO();
                biometria.ID_CENTRO          = SelectedLiberacion.Ingreso.ID_CENTRO;
                biometria.ID_ANIO            = SelectedLiberacion.Ingreso.ID_ANIO;
                biometria.ID_IMPUTADO        = SelectedLiberacion.Ingreso.ID_IMPUTADO;
                biometria.ID_INGRESO         = SelectedLiberacion.Ingreso.ID_INGRESO;
                biometria.ID_TIPO_BIOMETRICO = 1;
                biometria.BIOMETRICO         = SelectedLiberacion.ImagenEgreso;

                if (new cIngreso().LibertadBiometrica(ingreso, !string.IsNullOrEmpty(Incidente) ? incidente : null, biometria))
                {
                    new Dialogos().ConfirmacionDialogo("Éxito", "Informaci\u00F3n registrada correctamente.");
                    ObtenerTodo();
                    return(true);
                }
                else
                {
                    new Dialogos().ConfirmacionDialogo("Error", "No se registr\u00F3 la informaci\u00F3n.");
                }
            }
            catch (Exception ex)
            {
                StaticSourcesViewModel.ShowMessageError("Algo pasó...", "Ocurrió un error al guardar liberación biometrica", ex);
            }
            return(false);
        }
예제 #3
0
 public bool CambiarEstadoVisitaInterno(INGRESO_UBICACION Ingreso_Ubicacion, ADUANA_INGRESO Aduana_Ingreso, INCIDENTE Incidente = null)
 {
     try
     {
         using (TransactionScope transaccion = new TransactionScope(TransactionScopeOption.RequiresNew, new TransactionOptions()
         {
             IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
         }))
         {
             Context.INGRESO_UBICACION.Add(Ingreso_Ubicacion);
             Context.ADUANA_INGRESO.Attach(Aduana_Ingreso);
             Context.Entry(Aduana_Ingreso).Property(x => x.INTERNO_NOTIFICADO).IsModified = true;
             if (Incidente != null)
             {
                 Context.INCIDENTE.Add(Incidente);
             }
             Context.SaveChanges();
             transaccion.Complete();
         }
         return(true);
     }
     catch (Exception ex)
     {
         throw new ApplicationException(ex.Message);
     }
 }