Пример #1
0
        private Response Existe(ManualPuesto ManualPuesto)
        {
            var bdd  = ManualPuesto.Nombre;
            var bdd1 = ManualPuesto.Descripcion;
            var bdd2 = ManualPuesto.Mision;
            var bdd3 = ManualPuesto.IdRelacionesInternasExternas;

            var ManualPuestorespuesta = db.ManualPuesto
                                        .Where(p =>
                                               p.Nombre.ToString().ToUpper() == bdd.ToString().ToUpper() &&
                                               p.Descripcion.ToString().ToUpper() == bdd1.ToString().ToUpper() &&
                                               p.Mision.ToString().ToUpper() == bdd2.ToString().ToUpper() &&
                                               p.IdRelacionesInternasExternas == bdd3)
                                        .FirstOrDefault();


            if (ManualPuestorespuesta != null)
            {
                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.ExisteRegistro,
                    Resultado = ManualPuestorespuesta,
                });
            }

            return(new Response
            {
                IsSuccess = false,
                Resultado = ManualPuestorespuesta,
            });
        }
        public async Task <IActionResult> Create(ViewModelManualPuesto viewModelManualPuesto)
        {
            if (!ModelState.IsValid)
            {
                InicializarMensaje(null);
                return(View(viewModelManualPuesto));
            }
            Response response = new Response();

            try
            {
                var manualPuesto = new ManualPuesto
                {
                    Nombre      = viewModelManualPuesto.ManualPuesto.Nombre,
                    Descripcion = viewModelManualPuesto.ManualPuesto.Descripcion,
                    Mision      = viewModelManualPuesto.ManualPuesto.Mision,
                    IdRelacionesInternasExternas = viewModelManualPuesto.ManualPuesto.IdRelacionesInternasExternas,
                };
                response = await apiServicio.InsertarAsync(manualPuesto,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/ManualPuestos/InsertarManualPuesto");

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado un Manual Puesto",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "ManualPuesto:", viewModelManualPuesto.ManualPuesto.IdManualPuesto),
                    });

                    return(RedirectToAction("Index"));
                }
                var listarie = await apiServicio.Listar <RelacionesInternasExternas>(new Uri(WebApp.BaseAddress)
                                                                                     , "api/RelacionesInternasExternas/ListarRelacionesInternasExternas");

                viewModelManualPuesto.RelacionesInternasExternas = listarie;
                ViewData["Error"] = response.Message;
                return(View(viewModelManualPuesto));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando Manual Puesto",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Пример #3
0
        public async Task <Response> PutManualPuesto([FromRoute] int id, [FromBody] ManualPuesto ManualPuesto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                ManualPuesto.Nombre      = ManualPuesto.Nombre.ToString().ToUpper();
                ManualPuesto.Mision      = ManualPuesto.Mision.ToString().ToUpper();
                ManualPuesto.Descripcion = ManualPuesto.Descripcion.ToString().ToUpper();

                var existe = Existe(ManualPuesto);
                var ManualPuestoActualizar = (ManualPuesto)existe.Resultado;

                if (existe.IsSuccess)
                {
                    if (ManualPuestoActualizar.IdManualPuesto == ManualPuesto.IdManualPuesto)
                    {
                        await Actualizar(ManualPuesto);

                        return(new Response
                        {
                            IsSuccess = true,
                            Message = Mensaje.GuardadoSatisfactorio,
                        });
                    }
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ExisteRegistro,
                    });
                }


                await Actualizar(ManualPuesto);

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.GuardadoSatisfactorio,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion,
                });
            }
        }
Пример #4
0
        private async Task Actualizar(ManualPuesto ManualPuesto)
        {
            var manualpuesto = db.ManualPuesto.Find(ManualPuesto.IdManualPuesto);

            manualpuesto.Nombre      = ManualPuesto.Nombre;
            manualpuesto.Descripcion = ManualPuesto.Descripcion;
            db.ManualPuesto.Update(manualpuesto);
            await db.SaveChangesAsync();
        }
        public async Task <IActionResult> Edit(string id, ViewModelManualPuesto viewModelManualPuesto)
        {
            Response response = new Response();

            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var manualpuesto = new ManualPuesto
                    {
                        Nombre      = viewModelManualPuesto.ManualPuesto.Nombre,
                        Descripcion = viewModelManualPuesto.ManualPuesto.Descripcion,
                        Mision      = viewModelManualPuesto.ManualPuesto.Mision,
                        IdRelacionesInternasExternas = viewModelManualPuesto.ManualPuesto.IdRelacionesInternasExternas,
                        IdManualPuesto = viewModelManualPuesto.ManualPuesto.IdManualPuesto
                    };
                    response = await apiServicio.EditarAsync(id, manualpuesto, new Uri(WebApp.BaseAddress),
                                                             "api/ManualPuestos");

                    if (response.IsSuccess)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                            EntityID             = string.Format("{0} : {1}", "Sistema", id),
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                            Message  = "Se ha actualizado un registro sistema",
                            UserName = "******"
                        });

                        return(RedirectToAction("Index"));
                    }
                    ViewData["Error"] = response.Message;
                    return(View(viewModelManualPuesto));
                }
                return(BadRequest());
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Editando un Manual Puesto",
                    ExceptionTrace       = ex.Message,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Пример #6
0
        public async Task <Response> PostManualPuesto([FromBody] ManualPuesto ManualPuesto)
        {
            try
            {
                var respuesta = Existe(ManualPuesto);
                if (!respuesta.IsSuccess)
                {
                    db.ManualPuesto.Add(ManualPuesto);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }

                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = ""
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
Пример #7
0
        public async Task <Response> PostManualPuesto([FromBody] ManualPuesto ManualPuesto)
        {
            try
            {
                var respuesta = Existe(ManualPuesto);
                if (!respuesta.IsSuccess)
                {
                    ManualPuesto.Nombre      = ManualPuesto.Nombre.ToString().ToUpper();
                    ManualPuesto.Mision      = ManualPuesto.Mision.ToString().ToUpper();
                    ManualPuesto.Descripcion = ManualPuesto.Descripcion.ToString().ToUpper();

                    db.ManualPuesto.Add(ManualPuesto);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.GuardadoSatisfactorio
                    });
                }

                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
Пример #8
0
        public async Task <IActionResult> Create(ManualPuesto ManualPuesto)
        {
            Response response = new Response();

            try
            {
                response = await apiServicio.InsertarAsync(ManualPuesto,
                                                           new Uri(WebApp.BaseAddress),
                                                           "/api/ManualPuestos/InsertarManualPuesto");

                if (response.IsSuccess)
                {
                    var responseLog = await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                    {
                        ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                        ExceptionTrace       = null,
                        Message              = "Se ha creado un Manual Puesto",
                        UserName             = "******",
                        LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                        LogLevelShortName    = Convert.ToString(LogLevelParameter.ADV),
                        EntityID             = string.Format("{0} {1}", "ManualPuesto:", ManualPuesto.IdManualPuesto),
                    });

                    return(RedirectToAction("Index"));
                }

                ViewData["Error"] = response.Message;
                return(View(ManualPuesto));
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.WebAppTh),
                    Message              = "Creando Manual Puesto",
                    ExceptionTrace       = ex,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Create),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "******"
                });

                return(BadRequest());
            }
        }
Пример #9
0
        public async Task <IActionResult> Create(ViewModelManualPuesto viewModelManualPuesto)
        {
            if (!ModelState.IsValid)
            {
                InicializarMensaje(null);
                return(View(viewModelManualPuesto));
            }
            Response response = new Response();

            try
            {
                var manualPuesto = new ManualPuesto
                {
                    Nombre      = viewModelManualPuesto.ManualPuesto.Nombre,
                    Descripcion = viewModelManualPuesto.ManualPuesto.Descripcion,
                    Mision      = viewModelManualPuesto.ManualPuesto.Mision,
                    IdRelacionesInternasExternas = viewModelManualPuesto.ManualPuesto.IdRelacionesInternasExternas,
                };
                response = await apiServicio.InsertarAsync(manualPuesto,
                                                           new Uri(WebApp.BaseAddress),
                                                           "api/ManualPuestos/InsertarManualPuesto");

                if (response.IsSuccess)
                {
                    return(this.RedireccionarMensajeTime(
                               "ManualPuestos",
                               "Index",
                               $"{Mensaje.Success}|{response.Message}|{"7000"}"
                               ));
                }

                var listarie = await apiServicio.Listar <RelacionesInternasExternas>(new Uri(WebApp.BaseAddress)
                                                                                     , "api/RelacionesInternasExternas/ListarRelacionesInternasExternas");

                viewModelManualPuesto.RelacionesInternasExternas = listarie;

                this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"10000"}";
                return(View(viewModelManualPuesto));
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Пример #10
0
        public async Task <IActionResult> Edit(string id, ViewModelManualPuesto viewModelManualPuesto)
        {
            Response response = new Response();

            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var manualpuesto = new ManualPuesto
                    {
                        Nombre      = viewModelManualPuesto.ManualPuesto.Nombre,
                        Descripcion = viewModelManualPuesto.ManualPuesto.Descripcion,
                        Mision      = viewModelManualPuesto.ManualPuesto.Mision,
                        IdRelacionesInternasExternas = viewModelManualPuesto.ManualPuesto.IdRelacionesInternasExternas,
                        IdManualPuesto = viewModelManualPuesto.ManualPuesto.IdManualPuesto
                    };
                    response = await apiServicio.EditarAsync(id, manualpuesto, new Uri(WebApp.BaseAddress),
                                                             "api/ManualPuestos");

                    if (response.IsSuccess)
                    {
                        return(this.RedireccionarMensajeTime(
                                   "ManualPuestos",
                                   "Index",
                                   $"{Mensaje.Success}|{response.Message}|{"7000"}"
                                   ));
                    }

                    this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{response.Message}|{"10000"}";

                    var listarie = await apiServicio.Listar <RelacionesInternasExternas>(new Uri(WebApp.BaseAddress), "api/RelacionesInternasExternas/ListarRelacionesInternasExternas");

                    viewModelManualPuesto.RelacionesInternasExternas = listarie;

                    return(View(viewModelManualPuesto));
                }
                return(BadRequest());
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
Пример #11
0
        private Response Existe(ManualPuesto ManualPuesto)
        {
            var bdd = ManualPuesto.Nombre;
            var ManualPuestorespuesta = db.ManualPuesto.Where(p => p.Nombre == bdd).FirstOrDefault();

            if (ManualPuestorespuesta != null)
            {
                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.ExisteRegistro,
                    Resultado = ManualPuestorespuesta,
                });
            }

            return(new Response
            {
                IsSuccess = false,
                Resultado = ManualPuestorespuesta,
            });
        }
Пример #12
0
        public async Task <List <IndiceOcupacional> > GetIndicesOcupacionales()
        {
            try
            {
                //Escala de grados
                //Include(x => x.Dependencia.Nombre).Include(x => x.Dependencia.IdDependencia).Include(x => x.ManualPuesto.Nombre).Include(x => x.RolPuesto)
                var lista = await db.IndiceOcupacional.ToListAsync();

                var lista1 = new List <IndiceOcupacional>();

                foreach (var item in lista)
                {
                    var escalaGrados = await db.EscalaGrados.Where(x => x.IdEscalaGrados == item.IdEscalaGrados).FirstOrDefaultAsync();

                    var dependencia = await db.Dependencia.Where(x => x.IdDependencia == item.IdDependencia).FirstOrDefaultAsync();

                    var manualPuesto = await db.ManualPuesto.Where(x => x.IdManualPuesto == item.IdManualPuesto).FirstOrDefaultAsync();

                    var rolPuesto = await db.RolPuesto.Where(x => x.IdRolPuesto == item.IdRolPuesto).FirstOrDefaultAsync();


                    var grados = new EscalaGrados
                    {
                        Grado            = escalaGrados.Grado,
                        GrupoOcupacional = escalaGrados.GrupoOcupacional,
                        Remuneracion     = escalaGrados.Remuneracion,
                    };

                    var dependencia1 = new Dependencia
                    {
                        Nombre           = dependencia.Nombre,
                        DependenciaPadre = dependencia.DependenciaPadre,
                    };


                    var manual = new ManualPuesto
                    {
                        Nombre      = manualPuesto.Nombre,
                        Descripcion = manualPuesto.Descripcion,
                    };

                    var rol = new RolPuesto
                    {
                        Nombre = rolPuesto.Nombre,
                    };

                    item.EscalaGrados = grados;
                    item.Dependencia  = dependencia1;
                    item.ManualPuesto = manual;
                    item.RolPuesto    = rol;
                    lista1.Add(item);
                }

                return(lista1);
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new List <IndiceOcupacional>());
            }
        }
Пример #13
0
        public async Task <Response> PutManualPuesto([FromRoute] int id, [FromBody] ManualPuesto ManualPuesto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var existe = Existe(ManualPuesto);
                var ManualPuestoActualizar = (ManualPuesto)existe.Resultado;

                if (existe.IsSuccess)
                {
                    if (ManualPuestoActualizar.IdManualPuesto == ManualPuesto.IdManualPuesto)
                    {
                        if (ManualPuesto.Nombre == ManualPuestoActualizar.Nombre &&
                            ManualPuesto.Descripcion == ManualPuestoActualizar.Descripcion)
                        {
                            return(new Response
                            {
                                IsSuccess = true,
                            });
                        }

                        await Actualizar(ManualPuesto);

                        return(new Response
                        {
                            IsSuccess = true,
                            Message = Mensaje.Satisfactorio,
                        });
                    }
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ExisteRegistro,
                    });
                }

                await Actualizar(ManualPuesto);

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio,
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Excepcion,
                });
            }
        }
Пример #14
0
        public async Task <Response> ListarFichaMedicaViewModel([FromBody] FichaMedicaViewModel fmv)
        {
            try
            {
                Persona personaVar = new Persona();

                if (fmv.DatosBasicosPersonaViewModel.IdPersona < 1)
                {
                    try
                    {
                        personaVar = db.Persona.Where(x => x.Identificacion == fmv.DatosBasicosPersonaViewModel.Identificacion).FirstOrDefault();
                    }
                    catch (Exception ex)
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.RegistroNoEncontrado
                        });
                    }
                }
                else
                {
                    try
                    {
                        personaVar = db.Persona.Where(x => x.IdPersona == fmv.DatosBasicosPersonaViewModel.IdPersona).FirstOrDefault();
                    }
                    catch (Exception ex)
                    {
                        return(new Response {
                            IsSuccess = false, Message = Mensaje.RegistroNoEncontrado
                        });
                    }
                }



                if (personaVar == null)
                {
                    return(new Response {
                        IsSuccess = false, Message = Mensaje.RegistroNoEncontrado
                    });
                }


                PersonaEstudio      personaEstudioVar      = db.PersonaEstudio.Where(x => x.IdPersona == personaVar.IdPersona).FirstOrDefault();
                Sexo                sexoVar                = db.Sexo.Where(x => x.IdSexo == personaVar.IdSexo).FirstOrDefault();
                Nacionalidad        NacionalidadVar        = db.Nacionalidad.Where(x => x.IdNacionalidad == personaVar.IdNacionalidad).FirstOrDefault();
                Parroquia           parroquiaVar           = db.Parroquia.Where(x => x.IdParroquia == personaVar.IdParroquia).FirstOrDefault();
                EstadoCivil         estadoCivilVar         = db.EstadoCivil.Where(x => x.IdEstadoCivil == personaVar.IdEstadoCivil).FirstOrDefault();
                Etnia               etniaVar               = db.Etnia.Where(x => x.IdEtnia == personaVar.IdEtnia).FirstOrDefault();
                TipoSangre          tipoSangreVar          = db.TipoSangre.Where(x => x.IdTipoSangre == personaVar.IdTipoSangre).FirstOrDefault();
                PersonaDiscapacidad personaDiscapacidadVar = db.PersonaDiscapacidad.Where(x => x.IdPersona == personaVar.IdPersona).FirstOrDefault();
                Empleado            empleadoVar            = db.Empleado.Where(x => x.IdPersona == personaVar.IdPersona).FirstOrDefault();


                /* INICIALIZACIÓN DE OBJETOS CON VALORES NULOS */

                Titulo  tituloVar  = new Titulo();
                Estudio estudioVar = new Estudio();
                EmpleadoContactoEmergencia contactoEmergenciaVar = new EmpleadoContactoEmergencia();
                Dependencia      dependenciaVar       = new Dependencia();
                EmpleadoFamiliar empleadoFamiliarVar  = new EmpleadoFamiliar();
                Persona          personaEmergenciaVar = new Persona();
                Sucursal         sucursalVar          = new Sucursal();
                Parentesco       parentescoVar        = new Parentesco();
                TipoDiscapacidad discapacidadVar      = new TipoDiscapacidad();
                IndiceOcupacionalModalidadPartida indOcupModParVar = new IndiceOcupacionalModalidadPartida();
                IndiceOcupacional inOcupVar    = new IndiceOcupacional();
                ManualPuesto      manPuestoVar = new ManualPuesto();

                /* INICIALIZACIÓN DE VARIABLES NULAS*/

                var  datoConadis                   = "";
                var  datoPorcentaje                = "";
                var  datoCargoTrabajo              = "";
                var  datoPuestoTrabajo             = "";
                var  datoEdad                      = "";
                bool datoCondicionEspecial         = false;
                int  datoNumHijos                  = 0;
                var  datoSedeTrabajo               = "";
                var  datoPersonaEmergencia         = "";
                var  datoPersonaEmergenciaContacto = "";


                var nombreCampoHijos = "Hijo/a";


                if (personaEstudioVar != null && personaEstudioVar.IdPersonaEstudio > 0)
                {
                    tituloVar = db.Titulo.Where(x => x.IdTitulo == personaEstudioVar.IdTitulo).FirstOrDefault();
                }

                if (tituloVar != null && tituloVar.IdEstudio > 0)
                {
                    estudioVar = db.Estudio.Where(x => x.IdEstudio == tituloVar.IdEstudio).FirstOrDefault();
                }


                if (empleadoVar != null && empleadoVar.IdEmpleado > 0)
                {
                    contactoEmergenciaVar = db.EmpleadoContactoEmergencia.Where(x => x.IdEmpleado == empleadoVar.IdEmpleado).FirstOrDefault();
                    dependenciaVar        = db.Dependencia.Where(x => x.IdDependencia == empleadoVar.IdDependencia).FirstOrDefault();
                    empleadoFamiliarVar   = db.EmpleadoFamiliar.Where(x => x.IdEmpleado == empleadoVar.IdEmpleado).FirstOrDefault();
                    indOcupModParVar      = db.IndiceOcupacionalModalidadPartida.Where(x => x.IdEmpleado == empleadoVar.IdEmpleado).FirstOrDefault();


                    var listaHijos = db.EmpleadoFamiliar.Where(x => x.IdEmpleado == empleadoVar.IdEmpleado).ToList();

                    datoNumHijos = listaHijos.Count();
                }

                if (indOcupModParVar != null && indOcupModParVar.IdEmpleado > 0)
                {
                    inOcupVar = db.IndiceOcupacional.Where(x => x.IdIndiceOcupacional == indOcupModParVar.IdIndiceOcupacional).FirstOrDefault();
                }

                if (inOcupVar != null && inOcupVar.IdIndiceOcupacional > 0)
                {
                    manPuestoVar = db.ManualPuesto.Where(x => x.IdManualPuesto == inOcupVar.IdManualPuesto).FirstOrDefault();
                }


                if (contactoEmergenciaVar != null && contactoEmergenciaVar.IdEmpleadoContactoEmergencia > 0)
                {
                    personaEmergenciaVar = db.Persona.Where(x => x.IdPersona == contactoEmergenciaVar.IdPersona).FirstOrDefault();
                }


                if (dependenciaVar != null && dependenciaVar.IdDependencia > 0)
                {
                    sucursalVar = db.Sucursal.Where(x => x.IdSucursal == dependenciaVar.IdSucursal).FirstOrDefault();
                }


                if (empleadoFamiliarVar != null && empleadoFamiliarVar.IdEmpleadoFamiliar > 0 && contactoEmergenciaVar != null && contactoEmergenciaVar.IdEmpleadoContactoEmergencia > 0)
                {
                    parentescoVar = db.Parentesco.Where(x => x.IdParentesco == contactoEmergenciaVar.IdParentesco).FirstOrDefault();
                }

                if (personaDiscapacidadVar != null && personaDiscapacidadVar.IdPersonaDiscapacidad > 0)
                {
                    discapacidadVar       = db.TipoDiscapacidad.Where(x => x.IdTipoDiscapacidad == personaDiscapacidadVar.IdTipoDiscapacidad).FirstOrDefault();
                    datoCondicionEspecial = true;
                }



                /* Validación obtencion de dato nulo */


                if (discapacidadVar != null && discapacidadVar.IdTipoDiscapacidad > 0)
                {
                    datoConadis    = personaDiscapacidadVar.NumeroCarnet;
                    datoPorcentaje = personaDiscapacidadVar.Porciento + " %";
                }

                if (sucursalVar != null && sucursalVar.IdSucursal > 0)
                {
                    datoSedeTrabajo = sucursalVar.Nombre;
                }

                if (personaEmergenciaVar != null && personaEmergenciaVar.IdPersona > 0)
                {
                    datoPersonaEmergencia         = personaEmergenciaVar.Nombres + " " + personaEmergenciaVar.Apellidos;
                    datoPersonaEmergenciaContacto = personaEmergenciaVar.TelefonoCasa + "  " + personaEmergenciaVar.TelefonoPrivado;
                }

                if (manPuestoVar != null && manPuestoVar.IdManualPuesto > 0)
                {
                    datoPuestoTrabajo = manPuestoVar.Descripcion;
                    datoCargoTrabajo  = manPuestoVar.Nombre;
                }



                DateTime year = (DateTime)personaVar.FechaNacimiento;


                int yActual     = DateTime.Now.Year;
                int yNacimiento = (int)(year.Year);

                datoEdad = (yActual - yNacimiento) + "";


                DatosBasicosPersonaViewModel dbvm =

                    new DatosBasicosPersonaViewModel

                {
                    IdPersona        = personaVar.IdPersona,
                    NombresApellidos = personaVar.Nombres + " " + personaVar.Apellidos,
                    Identificacion   = personaVar.Identificacion,

                    LugarNacimiento = NacionalidadVar.Nombre + "/ " + parroquiaVar.Nombre,
                    FechaNacimiento = year.ToString("dd/MM/yyyy"),


                    DireccionDomiciliaria = personaVar.CallePrincipal + " " + personaVar.CalleSecundaria + " " + personaVar.Numero,
                    Telefono = personaVar.TelefonoPrivado + "   " + personaVar.TelefonoCasa,
                    Edad     = datoEdad,


                    Genero         = sexoVar.Nombre,
                    NivelEducativo = estudioVar.Nombre,
                    EstadoCivil    = estadoCivilVar.Nombre,
                    Profesion      = (tituloVar != null)? tituloVar.Nombre:"",
                    NumeroHijos    = datoNumHijos,
                    Etnia          = etniaVar.Nombre,


                    CondicionEspecial = datoCondicionEspecial,
                    TipoDiscapacidad  = discapacidadVar.Nombre,
                    Conadis           = datoConadis,
                    Porcentaje        = datoPorcentaje,

                    NombreCargoTrabajo       = datoCargoTrabajo,
                    DescripcionPuestoTrabajo = datoPuestoTrabajo,
                    SedeTrabajo         = datoSedeTrabajo,
                    ContactoEmergencias = datoPersonaEmergencia,

                    Parentesco       = parentescoVar.Nombre,
                    ParienteTelefono = datoPersonaEmergenciaContacto,
                    FechaIngreso     = empleadoVar.FechaIngreso
                };



                var ListaFichasMedicas = await db.FichaMedica.Where(x => x.IdPersona == personaVar.IdPersona).OrderByDescending(x => x.FechaFichaMedica).ToListAsync(); // devuelve una lista


                var fichaMedicaViewModel = new FichaMedicaViewModel {
                    DatosBasicosPersonaViewModel = dbvm, FichasMedicas = ListaFichasMedicas, ListaPersonas = ListaPersonasFichaMedicaView()
                };



                return(new Response {
                    IsSuccess = true, Resultado = fichaMedicaViewModel
                });
            }
            catch (Exception ex)
            {
                var fichaMedicaViewModel = new FichaMedicaViewModel();

                return(new Response {
                    IsSuccess = false, Resultado = fichaMedicaViewModel, Message = Mensaje.Error
                });
            }
        }