Exemple #1
0
 public void TestMethod1()
 {
     var target = new Pasaporte
     {
         Pais = "Etiopia"
     };
 }
        protected void BtnPdf_Click(object sender, EventArgs e)
        {
            return;

            Person person = null;

            if (Session["PASAPORTE"] != null)
            {
                person = (Person)Session["PASAPORTE"];
            }

            if (person == null)
            {
                return;
            }

            Pasaporte rep = new Pasaporte();

            rep.TxtNumPasaporte.Value    = person.noPasaporte;
            rep.TxtApellidos.Value       = person.apellidos;
            rep.TxtNombre.Value          = person.nombre;
            rep.TxtNacionalidad.Value    = person.nacionalidad;
            rep.TxtFechaNacimiento.Value = person.fechaNacimiento;
            rep.TxtCedula.Value          = person.cedulaIdentidad;
            rep.TxtSexo.Value            = person.Sexo;
            rep.TxtLugarNacimiento.Value = person.lugarNacimiento;
            rep.TxtFechaEmision.Value    = person.fechaNacimiento;
            rep.TxtLugarNacimiento.Value = person.lugarNacimiento;
            rep.TxtFechaExpiracion.Value = person.fechaNacimiento;
            rep.TxtOCR.Value             = person.ocr;

            Telerik.Reporting.Processing.ReportProcessor reportProcessor = new Telerik.Reporting.Processing.ReportProcessor();

            System.Collections.Hashtable deviceInfo =
                new System.Collections.Hashtable();

            Telerik.Reporting.InstanceReportSource instanceReportSource =
                new Telerik.Reporting.InstanceReportSource();

            instanceReportSource.ReportDocument = rep;

            Telerik.Reporting.Processing.RenderingResult result =
                reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo);

            byte[] ReportePdf = result.DocumentBytes;

            DescargaArchivos da = new DescargaArchivos(Response);

            da.DescargaArchivoBytes(ReportePdf, Constantes.mimeTypePDF, "Pasaporte", Constantes.pdfextension);
        }
Exemple #3
0
        public void Seed()
        {
            _ctx.Database.EnsureCreated();

            if (!_ctx.Usuarios.Any())
            {
                var raul = new Usuario()
                {
                    FirstName      = "Lazaro",
                    SecondName     = "Raul",
                    FirstLastName  = "Iglesias",
                    SecondLastName = "Vera",
                    Email          = "*****@*****.**",
                    Password       = "******",
                    Pasaportes     = new List <Pasaporte>()
                };

                var pasaporte_raul = new Pasaporte()
                {
                    UsuarioCI        = 97022206986,
                    FechaCreacion    = new DateTime(2019, 1, 1),
                    FechaVencimiento = new DateTime(2019, 12, 31),
                    Actualizaciones  = 0,
                    Tipo             = PasaporteTipo.Americano,
                    Usuario          = raul
                };

                raul.Pasaportes.Add(pasaporte_raul);

                _ctx.Add(raul);
                _ctx.Add(pasaporte_raul);

                _ctx.SaveChanges();
            }

            if (!_ctx.Usuarios.Where(x => x.FirstLastName == "Tenorio").Any())
            {
                var filepath = Path.Combine(_hosting.ContentRootPath, "wwwroot/json/usuarios.json");
                var json     = File.ReadAllText(filepath);
                var usuarios = JsonConvert.DeserializeObject <IEnumerable <Usuario> >(json);
                _ctx.Usuarios.AddRange(usuarios);

                _ctx.SaveChanges();
            }
        }
        /// <summary>
        /// Creacion de un pasaporte a partir de un estado. Si se necesita usar una lógica diferente, crear otro método.
        /// Se debe hacer include de Pasaporte, hay que marcarlos como inactivos.
        /// </summary>
        /// <param name="empleado"></param>
        /// <param name="localDateOfRegistry"></param>
        /// <param name="idPassportState"></param>
        public void CreateFromChoosenState(Empleado empleado, DateTimeOffset localDateOfRegistry, EstadoPasaporte passportState, bool isManual)
        {
            Pasaporte pasaporte = new Pasaporte()
            {
                FechaCreacion     = localDateOfRegistry,
                Activo            = true,
                IdEstadoPasaporte = passportState.Id,
                IsManual          = isManual
            };

            int?diasValidez = passportState.DiasValidez;

            if (diasValidez != null)
            {
                pasaporte.FechaExpiracion = new DateTimeOffset(localDateOfRegistry.Year, localDateOfRegistry.Month, localDateOfRegistry.Day, 00, 00, 00, localDateOfRegistry.Offset).AddDays(diasValidez.Value);
            }

            foreach (var p in empleado.Pasaporte)
            {
                p.Activo = false;
            }

            empleado.Pasaporte.Add(pasaporte);
        }
            /// <summary>
            /// Handle
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async override Task <bool> Handle(RegisterTemperatureMeditionSecurityRequest request, CancellationToken cancellationToken)
            {
                idEmpleado = request.IdEmployee;
                Empleado empleado = await ValidacionEmpleado(request.IdEmployee).ConfigureAwait(false);

                ParametroMedico paramTempe = await repositoryParametroMedico.GetAll().FirstOrDefaultAsync(c => c.Nombre == ParametroMedico.ParameterTypes.TemperaturaAlta.ToString()).ConfigureAwait(false);

                SeguimientoMedico seguimiento = new SeguimientoMedico()
                {
                    IdFichaMedica    = empleado.IdFichaMedica.Value,
                    Comentarios      = "Security Scan Temperature Medition",
                    Activo           = true,
                    FechaSeguimiento = request.MeditionDateTime.HasValue ? request.MeditionDateTime.Value : DateTimeOffset.Now
                };

                seguimiento.ValoracionParametroMedico = new List <ValoracionParametroMedico>()
                {
                    new ValoracionParametroMedico()
                    {
                        Valor = request.IsTemperatureOverThreshold,
                        IdParametroMedicoNavigation = paramTempe,
                    }
                };

                List <SeguimientoMedico> oldSeguimentos = await repositorySeguimientos.GetBy(c => c.IdFichaMedica == empleado.IdFichaMedica.Value &&
                                                                                             c.ValoracionParametroMedico.Select(d => d.IdParametroMedico).Any(e => e == paramTempe.Id))
                                                          .ToListAsync().ConfigureAwait(false);

                foreach (var item in oldSeguimentos)
                {
                    item.Activo = false;
                }

                repositorySeguimientos.UpdateRange(oldSeguimentos);


                repositorySeguimientos.Add(seguimiento);
                await this.repositorySeguimientos.SaveChangesAsync().ConfigureAwait(false);

                // creamos un nuevo pasaporte en base a la nueva info proporcionada
                var estados = await repositoryEstados.GetAll()
                              .Include(c => c.IdTipoEstadoNavigation)
                              .Include(c => c.IdColorEstadoNavigation)
                              .ToDictionaryAsync(e => e.Nombre);

                //-------------------------------------------------------------------------------------------

                Pasaporte currentPassport = await GetLastPassportAsync(empleado.Id).ConfigureAwait(false);

                List <ResultadoTestPcr> pcrList = await GetAllResultadoPcrAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ValoracionParametroMedico lastAnalitIgG = await GetLastAnalisticIgG(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ValoracionParametroMedico lastAnalitIgM = await GetLastAnalisticIgM(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ResultadoTestMedico lastTestRapido = await GetLastTestRapidoAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ValoracionParametroMedico lastFiebre = seguimiento.ValoracionParametroMedico.FirstOrDefault();
                var ultimosResul = await GetLastResultadoEncuestaAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                createPassportService.CreateWithStatedCalculated(empleado, request.MeditionDateTime ?? DateTimeOffset.UtcNow, estados,
                                                                 currentPassport?.IdEstadoPasaporteNavigation, pcrList, lastAnalitIgG, lastAnalitIgM, lastTestRapido, lastFiebre, ultimosResul.Fiebre,
                                                                 ultimosResul.Otros, ultimosResul.Contacto);

                //-------------------------------------------------------------------------------------------

                repositoryEmpleado.Update(empleado);
                await repositoryEmpleado.SaveChangesAsync().ConfigureAwait(false);

                return(true);
            }
            /// <summary>
            /// Handle
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async override Task <bool> Handle(RegisterGenerationManualRequest request, CancellationToken cancellationToken)
            {
                idEmpleado = request.IdEmployee;
                Empleado empleado = await ValidacionEmpleado(request.IdEmployee).ConfigureAwait(false);

                var oldState = empleado.Pasaporte
                               .SingleOrDefault(p => p.Activo == true)?.IdEstadoPasaporteNavigation;

                var newState = await repositoryEstados
                               .GetAll()
                               .Include(e => e.IdTipoEstadoNavigation)
                               .Include(e => e.IdColorEstadoNavigation)
                               .FirstOrDefaultAsync(s => s.EstadoId == (request.IsGreenPaper ? (int)EstadoPasaporte.PapertStatesId.NoSintomaticoPaper : (int)EstadoPasaporte.PapertStatesId.SintomaticoPaper)).ConfigureAwait(false);

                // Inicio de transacción
                //repositoryEstados.UnitOfWork.BeginTransaction();

                createPassportService.CreateFromChoosenState(empleado, request.RegistrationDateTime.HasValue ? request.RegistrationDateTime.Value : DateTimeOffset.Now, newState, true);

                //Si el pasaporte papel es verde calculamos el pasaporte
                if (request.IsGreenPaper)
                {
                    Guid guid = Guid.NewGuid();
                    List <ResultadoEncuestaSintomas> newResultadoEncuestaSintomas = (await repositoryTipoSintoma
                                                                                     .GetAll()
                                                                                     .ToListAsync().ConfigureAwait(false))
                                                                                    .Select(ts => new ResultadoEncuestaSintomas
                    {
                        IdTipoSintomaNavigation = ts,
                        Valor           = false,
                        GrupoRespuestas = guid,
                    }).ToList();

                    foreach (ResultadoEncuestaSintomas res in newResultadoEncuestaSintomas)
                    {
                        empleado.IdFichaMedicaNavigation.ResultadoEncuestaSintomas.Add(res);
                    }

                    //repositoryEmpleado.Update(empleado);
                    //await repositoryEmpleado.SaveChangesAsync().ConfigureAwait(false);

                    var estados = await repositoryEstados.GetAll()
                                  .Include(c => c.IdTipoEstadoNavigation)
                                  .Include(c => c.IdColorEstadoNavigation)
                                  .ToDictionaryAsync(e => e.Nombre);

                    Pasaporte currentPassport = await GetLastPassportAsync(empleado.Id).ConfigureAwait(false);

                    List <ResultadoTestPcr> pcrList = await GetAllResultadoPcrAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                    ValoracionParametroMedico lastAnalitIgG = await GetLastAnalisticIgG(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                    ValoracionParametroMedico lastAnalitIgM = await GetLastAnalisticIgM(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                    ResultadoTestMedico lastTestRapido = await GetLastTestRapidoAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                    ValoracionParametroMedico lastFiebre = await GetLastFiebreAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                    var ultimosResul = GetLastResultadoEncuesta(newResultadoEncuestaSintomas);


                    createPassportService.CreateWithStatedCalculated(empleado, request.RegistrationDateTime ?? DateTimeOffset.UtcNow, estados,
                                                                     currentPassport?.IdEstadoPasaporteNavigation, pcrList, lastAnalitIgG, lastAnalitIgM, lastTestRapido, lastFiebre, ultimosResul.Fiebre,
                                                                     ultimosResul.Otros, ultimosResul.Contacto);
                }

                repositoryEmpleado.Update(empleado);
                await repositoryEmpleado.SaveChangesAsync().ConfigureAwait(false);

                // commit de la transacción
                //repositoryEmpleado.UnitOfWork.Commit();

                return(true);
            }
Exemple #7
0
            /// <summary>
            /// Handle
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public override async Task <bool> Handle(RegisterSymptomInquiryResultRequest request, CancellationToken cancellationToken)
            {
                idEmpleado = request.IdEmployee;

                Empleado empleado = await ValidacionEmpleado(request.IdEmployee).ConfigureAwait(false);

                if (empleado == null || empleado.IdFichaMedica == null) // Si no hay ficha médica no está bien registrado.
                {
                    throw new MultiMessageValidationException(new ErrorMessage()
                    {
                        Code    = "NOT_FOUND",
                        Message = string.Format(ValidatorsMessages.NOT_FOUND, ValidatorFields.Empleado)
                    });
                }

                var symptoms = await repositorySintomas.GetAll().ToDictionaryAsync(e => e.Id).ConfigureAwait(false);

                if (request.Values.Any(rf => !symptoms.ContainsKey(rf.Id)))
                {
                    throw new MultiMessageValidationException(new ErrorMessage()
                    {
                        Code    = "NOT_FOUND",
                        Message = string.Format(ValidatorsMessages.NOT_FOUND, ValidatorFields.TipoSintoma)
                    });
                }

                var estados = await repositoryEstados.GetAll()
                              .Include(c => c.IdTipoEstadoNavigation)
                              .Include(c => c.IdColorEstadoNavigation)
                              .ToDictionaryAsync(e => e.Nombre).ConfigureAwait(false);

                Guid grupoRespuestas = Guid.NewGuid();
                List <ResultadoEncuestaSintomas> resultados = request.Values.Select(s => new ResultadoEncuestaSintomas()
                {
                    IdFichaMedica           = empleado.IdFichaMedica.Value,
                    IdTipoSintomaNavigation = symptoms[s.Id],
                    Valor           = s.Value,
                    GrupoRespuestas = grupoRespuestas
                }).ToList();

                this.repositoryEncuesta.AddRange(resultados);

                await repositoryEncuesta.SaveChangesAsync().ConfigureAwait(false);

                //-------------------------------------------------------------------------------------------

                Pasaporte currentPassport = await GetLastPassportAsync(empleado.Id).ConfigureAwait(false);

                List <ResultadoTestPcr> pcrList = await GetAllResultadoPcrAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ValoracionParametroMedico lastAnalitIgG = await GetLastAnalisticIgG(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ValoracionParametroMedico lastAnalitIgM = await GetLastAnalisticIgM(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ResultadoTestMedico lastTestRapido = await GetLastTestRapidoAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                //ValoracionParametroMedico lastFiebre = await GetLastFiebreAsync(empleado.IdFichaMedica.Value).ConfigureAwait(false);

                ResultadoEncuestaSintomas fiebre   = resultados.FirstOrDefault(c => c.IdTipoSintoma == symptoms.FirstOrDefault(d => d.Value.Nombre == "Fiebre").Value.Id);
                ResultadoEncuestaSintomas otros    = resultados.FirstOrDefault(c => c.IdTipoSintoma == symptoms.FirstOrDefault(d => d.Value.Nombre == "OtrosSintomas").Value.Id);
                ResultadoEncuestaSintomas contacto = resultados.FirstOrDefault(c => c.IdTipoSintoma == symptoms.FirstOrDefault(d => d.Value.Nombre == "Contacto").Value.Id);

                createPassportService.CreateWithStatedCalculated(empleado, request.CurrentDeviceDateTime, estados,
                                                                 currentPassport?.IdEstadoPasaporteNavigation, pcrList, lastAnalitIgG, lastAnalitIgM, lastTestRapido, null, fiebre,
                                                                 otros, contacto);

                //-------------------------------------------------------------------------------------------

                await repositoryEmpleado.SaveChangesAsync().ConfigureAwait(false);

                return(true);
            }
Exemple #8
0
        public void TestContext()
        {
            var target = new GpContext();
            {
                try
                {
                    // Your code...
                    // Could also be before try if you know the exception occurs in SaveChanges


                    /* var persona = new Persona();
                     * persona.FechaNacimiento = new DateTime();
                     */
                    var persona = new Persona {
                        FechaNacimiento = new DateTime(2000, 09, 01)
                    };
                    target.Personas.Add(persona);
                    target.SaveChanges();

                    var policia = new Policia {
                        NumeroPlaca = 5
                    };
                    target.Policias.Add(policia);
                    target.SaveChanges();

                    var detenido = new Detenido {
                        FechaDetencion = new DateTime(2000, 02, 01)
                    };
                    target.Detenidos.Add(detenido);
                    target.SaveChanges();

                    var usuario = new Usuario();
                    target.Usuarios.Add(usuario);
                    target.SaveChanges();

                    var dni = new Dni()
                    {
                        NumeroDocumento = "56904819"
                    };
                    target.Dnis.Add(dni);
                    target.SaveChanges();

                    var nie = new Nie()
                    {
                        NumeroDocumento = "Z5164919K"
                    };
                    target.Nies.Add(nie);
                    target.SaveChanges();

                    var pasaporte = new Pasaporte()
                    {
                        NumeroDocumento = "C35890664"
                    };
                    target.Pasaportes.Add(pasaporte);
                    target.SaveChanges();

                    var policias  = target.Policias.Count();
                    var policias2 = target.Personas.OfType <Policia>().Count();
                }

                catch (DbEntityValidationException e)
                {
                    foreach (var eve in e.EntityValidationErrors)
                    {
                        Console.WriteLine(
                            "Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                            eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        foreach (var ve in eve.ValidationErrors)
                        {
                            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }