public async Task <Response> ActualizarFormularioAnalisisOcupacional([FromBody] DocumentoFAOViewModel formularioAnalisisOcupacional)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    int fecha = DateTime.Now.Year;
                    if (ModelState.IsValid)
                    {
                        var empleado = db.FormularioAnalisisOcupacional.Where(x => x.IdEmpleado == formularioAnalisisOcupacional.IdEmpleado && x.Anio == fecha).FirstOrDefault();

                        if (empleado != null)
                        {
                            empleado.MisionPuesto        = formularioAnalisisOcupacional.Mision;
                            empleado.Estado              = 0;
                            empleado.InternoMismoProceso = formularioAnalisisOcupacional.InternoMismoProceso;
                            empleado.InternoOtroProceso  = formularioAnalisisOcupacional.InternoOtroProceso;
                            empleado.ExternosCiudadania  = formularioAnalisisOcupacional.ExternosCiudadania;
                            empleado.ExtPersJuridicasPubNivelNacional = formularioAnalisisOcupacional.ExtPersJuridicasPubNivelNacional;
                            db.FormularioAnalisisOcupacional.Update(empleado);
                            await db.SaveChangesAsync();

                            foreach (var item in formularioAnalisisOcupacional.ListActividades)
                            {
                                if (item != null)
                                {
                                    var actividad = new ActividadesAnalisisOcupacional();
                                    actividad.Actividades = item;
                                    actividad.IdFormularioAnalisisOcupacional = empleado.IdFormularioAnalisisOcupacional;
                                    db.ActividadesAnalisisOcupacional.Add(actividad);
                                }
                            }
                            await db.SaveChangesAsync();

                            transaction.Commit();
                            return(new Response
                            {
                                IsSuccess = true,
                                Message = Mensaje.Satisfactorio
                            });
                        }
                    }
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error,
                    });
                }
            }
        }
        public async Task <Response> ActualizarActividades([FromBody] DocumentoFAOViewModel documentoFAOViewModel)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    //BUscar el id de empleado logueado
                    var empleado = await db.Empleado.Include(x => x.Persona).Where(x => x.NombreUsuario == documentoFAOViewModel.NombreUsuario).FirstOrDefaultAsync();

                    var activarAnalisiOcupacional = new ActividadesAnalisisOcupacional();
                    foreach (var item in documentoFAOViewModel.ListaActividads)
                    {
                        activarAnalisiOcupacional        = db.ActividadesAnalisisOcupacional.Where(x => x.IdActividadesAnalisisOcupacional == Convert.ToInt32(item)).FirstOrDefault();
                        activarAnalisiOcupacional.Cumple = true;
                        db.ActividadesAnalisisOcupacional.Update(activarAnalisiOcupacional);
                    }

                    await db.SaveChangesAsync();


                    //cambia de estado en el formulario en FormularioAnalisis Ocupacional
                    var formularioAnalisisOcupacional = db.FormularioAnalisisOcupacional.Where(x => x.IdFormularioAnalisisOcupacional == activarAnalisiOcupacional.IdFormularioAnalisisOcupacional).FirstOrDefault();
                    formularioAnalisisOcupacional.Estado = 1;
                    db.FormularioAnalisisOcupacional.Update(formularioAnalisisOcupacional);
                    await db.SaveChangesAsync();

                    //Insercion en la tabla validadrimediato superior
                    var validacionSuperior = new ValidacionInmediatoSuperior();
                    validacionSuperior.IdFormularioAnalisisOcupacional = activarAnalisiOcupacional.IdFormularioAnalisisOcupacional;
                    validacionSuperior.IdEmpleado = empleado.IdEmpleado;
                    validacionSuperior.Fecha      = DateTime.Now;
                    db.ValidacionInmediatoSuperior.Add(validacionSuperior);
                    await db.SaveChangesAsync();

                    // inserta la exepciones si lo tuviera

                    //var validacionjefesuperior = await db.ValidacionInmediatoSuperior.Where(x=> x.Fecha == DateTime.Now.Date).FirstOrDefaultAsync();


                    foreach (var item in documentoFAOViewModel.ListaExepciones)
                    {
                        if (item != null)
                        {
                            var exepcion = new Exepciones();
                            exepcion.IdValidacionJefe = validacionSuperior.IdValidacionJefe;
                            exepcion.Detalle          = item;
                            db.Exepciones.Add(exepcion);
                        }
                    }
                    await db.SaveChangesAsync();

                    transaction.Commit();
                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.Error,
                    });
                }
            }
        }