public async Task <IActionResult> Desactivar(string id)
        {
            try
            {
                if (string.IsNullOrEmpty(id))
                {
                    return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.RegistroNoExiste}"));
                }
                var envia = new PlanCapacitacion {
                    IdPlanCapacitacion = Convert.ToInt32(id)
                };

                var response = await apiServicio.EliminarAsync(envia, new Uri(WebApp.BaseAddress)
                                                               , "api/MigracionCapacitaciones/Desactivar");

                if (response.IsSuccess)
                {
                    return(this.Redireccionar($"{Mensaje.Informacion}|{Mensaje.Satisfactorio}"));
                }
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.BorradoNoSatisfactorio}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorEliminar}"));
            }
        }
        public async Task <IActionResult> EditPlanCapacitacion(string id)
        {
            var respuesta = new Response();

            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var envia = new PlanCapacitacion {
                        IdPlanCapacitacion = Convert.ToInt32(id)
                    };
                    respuesta = await apiServicio.ObtenerElementoAsync1 <Response>(envia, new Uri(WebApp.BaseAddress),
                                                                                   "api/MigracionCapacitaciones/ObtenerDatosPlanCapacitaciones");

                    if (respuesta.IsSuccess)
                    {
                        await cargarCombox();

                        var vista = JsonConvert.DeserializeObject <PlanCapacitacion>(respuesta.Resultado.ToString());
                        return(View(vista));
                    }
                }

                return(this.Redireccionar($"{Mensaje.Error}|{respuesta.Message}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{respuesta.Message}"));
            }
        }
        public async Task <IActionResult> EditPlanCapacitacion(PlanCapacitacion planCapacitacion)
        {
            var respuesta = new Response();

            try
            {
                respuesta = await apiServicio.EditarAsync <Response>(planCapacitacion, new Uri(WebApp.BaseAddress),
                                                                     "api/MigracionCapacitaciones/EditarPlanCapacitacion");

                if (respuesta.IsSuccess)
                {
                    await cargarCombox();

                    var vista = JsonConvert.DeserializeObject <PlanCapacitacion>(respuesta.Resultado.ToString());
                    return(View(vista));
                }


                return(this.Redireccionar($"{Mensaje.Error}|{respuesta.Message}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{respuesta.Message}"));
            }
        }
        public async Task <IActionResult> CreatePlanCapacitacion(PlanCapacitacion planCapacitacion)
        {
            var respuesta = new Response();

            try
            {
                respuesta = await apiServicio.InsertarAsync <Response>(planCapacitacion, new Uri(WebApp.BaseAddress),
                                                                       "api/MigracionCapacitaciones/InsertarPlanCapacitacion");

                if (respuesta.IsSuccess)
                {
                    //await cargarCombox();
                    //var vista = JsonConvert.DeserializeObject<PlanCapacitacion>(respuesta.Resultado.ToString());
                    //return View(vista);
                    return(RedirectToAction("MostrarExcelBase", new { id = planCapacitacion.IdGestionPlanCapacitacion }));
                }


                return(this.Redireccionar($"{Mensaje.Error}|{respuesta.Message}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{respuesta.Message}"));
            }
        }
        public async Task <Response> Desactivar([FromBody] PlanCapacitacion planCapacitacion)
        {
            try
            {
                var planCapacitacionActualizar = await db.PlanCapacitacion.Where(x => x.IdPlanCapacitacion == planCapacitacion.IdPlanCapacitacion).FirstOrDefaultAsync();

                if (planCapacitacionActualizar == null)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.RegistroNoEncontrado,
                    });
                }
                planCapacitacionActualizar.Estado = ConstantesCapacitacion.Desactivado;
                db.PlanCapacitacion.Update(planCapacitacionActualizar);
                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio,
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.BorradoNoSatisfactorio,
                });
            }
        }
        public async Task <JsonResult> ObterDatosEmpleado(int idEmpleado)
        {
            var envia = new PlanCapacitacion {
                IdEmpleado = idEmpleado
            };

            var respuesta = await apiServicio.ObtenerElementoAsync1 <Response>(envia, new Uri(WebApp.BaseAddress),
                                                                               "api/MigracionCapacitaciones/ObtenerDatosEmpelado");

            return(Json(respuesta.Resultado));
        }
        public async Task <Response> ObtenerDatosEmpelado([FromBody] PlanCapacitacion planCapacitacion)
        {
            try
            {
                var datos2 = await db.IndiceOcupacionalModalidadPartida.Where(x => x.IdEmpleado == planCapacitacion.IdEmpleado).OrderByDescending(x => x.Fecha).Select(y => new PlanCapacitacion
                {
                    IdEmpleado           = (int)y.IdEmpleado,
                    Institucion          = "BANCO DE DESARROLLO DEL ECUADOR B.P.",
                    Pais                 = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Pais.Nombre,
                    Provincia            = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Nombre,
                    NombreCiudad         = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Nombre,
                    Cedula               = y.Empleado.Persona.Identificacion,
                    ApellidoNombre       = y.Empleado.Persona.Nombres + " " + y.Empleado.Persona.Apellidos,
                    Sexo                 = y.Empleado.Persona.Sexo.Nombre,
                    GrupoOcupacional     = y.IndiceOcupacional.EscalaGrados.GrupoOcupacional.TipoEscala,
                    ModalidadLaboral     = y.TipoNombramiento.Nombre,
                    RegimenLaboral       = y.TipoNombramiento.RelacionLaboral.Nombre,
                    DenominacionPuesto   = y.IndiceOcupacional.ManualPuesto.Nombre,
                    UnidadAdministrativa = y.IndiceOcupacional.Dependencia.Nombre,
                }).FirstOrDefaultAsync();

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

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio,
                    Resultado = datos2,
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <IActionResult> MostrarExcel(PlanCapacitacion planCapacitacion, List <IFormFile> files)
        {
            try
            {
                if (files.Count <= 0)
                {
                    return(this.Redireccionar("MigracionCapacitaciones", "ReportadoNomina", new { id = Convert.ToString(ObtenerIdCapacitacion().IdGestionPlanCapacitacion) }, $"{Mensaje.Error}|{Mensaje.SeleccionarFichero}"));
                }


                var file = await SubirFichero(files);

                var lista = await LeerExcel(file);

                if (lista.Count == 0)
                {
                    this.TempData["MensajeTimer"] = $"{Mensaje.Error}|{Mensaje.ReportadoNoCumpleFormato}|{"45000"}";
                    return(View(lista));
                }
                var listaSalvar = lista.Where(x => x.Valido == true).ToList();
                //var listaSalvar = lista.Where(x => x.IdPlanCapacitacion == true).ToList();
                var reportadoRequest = new Response();
                if (listaSalvar.Count > 0)
                {
                    reportadoRequest = await apiServicio.InsertarAsync <Response>(listaSalvar, new Uri(WebApp.BaseAddress),
                                                                                  "api/MigracionCapacitaciones/InsertarReportadoPlanificacion");
                }
                var listaErrores = lista.Where(x => x.Valido == false).ToList();
                if (listaErrores.Count > 0)
                {
                    this.TempData["MensajeTimer"] = $"{Mensaje.Aviso}|{Mensaje.ReportadoConErrores}|{"12000"}";
                }
                else
                {
                    this.TempData["Mensaje"] = $"{Mensaje.Success}|{Mensaje.Satisfactorio}";
                }

                return(View(lista));
            }
            catch (Exception ex)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.SeleccionarFichero}"));
            }
        }
        public async Task <IActionResult> CreatePlanCapacitacion(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var datos = new PlanCapacitacion
                    {
                        IdGestionPlanCapacitacion = Convert.ToInt32(id)
                    };
                    await cargarCombox();

                    return(View(datos));
                }

                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
        public async Task <IActionResult> ReportadoCapacitacion(string id)
        {
            try
            {
                if (!string.IsNullOrEmpty(id))
                {
                    if (HttpContext.Session.GetInt32(Constantes.IdCapacitacionSession) != Convert.ToInt32(id))
                    {
                        HttpContext.Session.SetInt32(Constantes.IdCapacitacionSession, Convert.ToInt32(id));
                    }
                    var Capacitacion = new PlanCapacitacion {
                        IdPlanCapacitacion = ObtenerIdCapacitacion().IdGestionPlanCapacitacion
                    };
                    return(View(Capacitacion));
                }

                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
            catch (Exception)
            {
                return(this.Redireccionar($"{Mensaje.Error}|{Mensaje.ErrorCargarDatos}"));
            }
        }
        public async Task <Response> EditarPlanCapacitacion([FromBody] PlanCapacitacion planCapacitacion)
        {
            try
            {
                List <Response> correoResponse             = new List <Response>();
                var             planCapacitacionActualizar = await db.PlanCapacitacion.Where(x => x.IdPlanCapacitacion == planCapacitacion.IdPlanCapacitacion).FirstOrDefaultAsync();

                var presupuesto = await db.Presupuesto.Where(x => x.NumeroPartidaPresupuestaria == planCapacitacionActualizar.NumeroPartidaPresupuestaria).FirstOrDefaultAsync();

                if (presupuesto != null)
                {
                    var datos2 = await db.IndiceOcupacionalModalidadPartida.Where(x => x.IdEmpleado == planCapacitacion.IdEmpleado).OrderByDescending(x => x.Fecha).Select(y => new PlanCapacitacion
                    {
                        Institucion          = planCapacitacionActualizar.Institucion,
                        Pais                 = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Pais.Nombre,
                        Provincia            = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Nombre,
                        NombreCiudad         = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Nombre,
                        Cedula               = y.Empleado.Persona.Identificacion,
                        Correo               = y.Empleado.Persona.CorreoPrivado,
                        ApellidoNombre       = y.Empleado.Persona.Nombres + " " + y.Empleado.Persona.Apellidos,
                        Sexo                 = y.Empleado.Persona.Sexo.Nombre,
                        GrupoOcupacional     = y.IndiceOcupacional.EscalaGrados.GrupoOcupacional.TipoEscala,
                        ModalidadLaboral     = y.TipoNombramiento.Nombre,
                        RegimenLaboral       = y.TipoNombramiento.RelacionLaboral.Nombre,
                        DenominacionPuesto   = y.IndiceOcupacional.ManualPuesto.Nombre,
                        UnidadAdministrativa = y.IndiceOcupacional.Dependencia.Nombre,
                    }).FirstOrDefaultAsync();

                    planCapacitacionActualizar.IdGestionPlanCapacitacion   = planCapacitacion.IdGestionPlanCapacitacion;
                    planCapacitacionActualizar.NumeroPartidaPresupuestaria = presupuesto.NumeroPartidaPresupuestaria;
                    planCapacitacionActualizar.Institucion           = datos2.Institucion;
                    planCapacitacionActualizar.Pais                  = datos2.Pais;
                    planCapacitacionActualizar.Provincia             = datos2.Provincia;
                    planCapacitacionActualizar.NombreCiudad          = datos2.NombreCiudad;
                    planCapacitacionActualizar.NivelDesconcentracion = planCapacitacion.NivelDesconcentracion;

                    planCapacitacionActualizar.UnidadAdministrativa = datos2.UnidadAdministrativa;
                    planCapacitacionActualizar.Cedula             = datos2.Cedula;
                    planCapacitacionActualizar.ApellidoNombre     = datos2.ApellidoNombre;
                    planCapacitacionActualizar.Sexo               = datos2.Sexo;
                    planCapacitacionActualizar.GrupoOcupacional   = datos2.GrupoOcupacional;
                    planCapacitacionActualizar.DenominacionPuesto = datos2.DenominacionPuesto;

                    planCapacitacionActualizar.RegimenLaboral    = datos2.RegimenLaboral;
                    planCapacitacionActualizar.ModalidadLaboral  = datos2.ModalidadLaboral;
                    planCapacitacionActualizar.TemaCapacitacion  = planCapacitacion.TemaCapacitacion;
                    planCapacitacionActualizar.ClasificacionTema = planCapacitacion.ClasificacionTema;
                    planCapacitacionActualizar.ProductoFinal     = planCapacitacion.ProductoFinal;
                    planCapacitacionActualizar.Modalidad         = planCapacitacion.Modalidad;
                    planCapacitacionActualizar.Duracion          = planCapacitacion.Duracion;

                    planCapacitacionActualizar.PresupuestoIndividual        = planCapacitacion.PresupuestoIndividual;
                    planCapacitacionActualizar.FechaCapacitacionPlanificada = planCapacitacion.FechaCapacitacionPlanificada;
                    planCapacitacionActualizar.TipoCapacitacion             = planCapacitacion.TipoCapacitacion;
                    planCapacitacionActualizar.EstadoEvento       = planCapacitacion.EstadoEvento;
                    planCapacitacionActualizar.AmbitoCapacitacion = planCapacitacion.AmbitoCapacitacion;
                    planCapacitacionActualizar.NombreEvento       = planCapacitacion.NombreEvento;
                    planCapacitacionActualizar.TipoEvento         = planCapacitacion.TipoEvento;

                    planCapacitacionActualizar.IdProveedorCapacitaciones = planCapacitacion.IdProveedorCapacitaciones;
                    planCapacitacionActualizar.DuracionEvento            = planCapacitacion.DuracionEvento;
                    planCapacitacionActualizar.Anio        = planCapacitacion.Anio;
                    planCapacitacionActualizar.FechaInicio = planCapacitacion.FechaInicio;
                    planCapacitacionActualizar.FechaFin    = planCapacitacion.FechaFin;
                    planCapacitacionActualizar.ValorReal   = planCapacitacion.ValorReal;
                    planCapacitacionActualizar.IdCiudad    = planCapacitacion.IdCiudad;

                    planCapacitacionActualizar.TipoEvaluacion = planCapacitacion.TipoEvaluacion;
                    planCapacitacionActualizar.Ubicacion      = planCapacitacion.Ubicacion;
                    planCapacitacionActualizar.Observacion    = planCapacitacion.Observacion;
                    planCapacitacionActualizar.Estado         = ConstantesCapacitacion.EstadoTerminado;
                    db.PlanCapacitacion.Update(planCapacitacionActualizar);
                    await db.SaveChangesAsync();

                    var correo = datos2.Correo;
                    correoResponse.Add(EnviarMailDesdeCorreoTalentohumano(correo));

                    return(new Response
                    {
                        IsSuccess = true,
                        Resultado = planCapacitacionActualizar
                    });
                }
                return(new Response
                {
                    IsSuccess = false,
                    Resultado = Mensaje.ErrorActualizarArchivo
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }
        public async Task <Response> InsertarPlanCapacitacion([FromBody] PlanCapacitacion planCapacitacion)
        {
            try
            {
                List <Response> correoResponse = new List <Response>();
                //if (await Existe(planCapacitacion))
                //{
                //    return new Response
                //    {
                //        IsSuccess = false,
                //        Message = Mensaje.ExisteRegistro,
                //    };
                //}

                var presupuesto = await db.Presupuesto.Where(x => x.IdPresupuesto == planCapacitacion.IdPresupuesto).FirstOrDefaultAsync();

                var datos2 = await db.IndiceOcupacionalModalidadPartida.Where(x => x.IdEmpleado == planCapacitacion.IdEmpleado).OrderByDescending(x => x.Fecha).Select(y => new PlanCapacitacion
                {
                    Institucion          = "BANCO DE DESARROLLO DEL ECUADOR B.P.",
                    Pais                 = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Pais.Nombre,
                    Provincia            = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Nombre,
                    NombreCiudad         = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Nombre,
                    Cedula               = y.Empleado.Persona.Identificacion,
                    Correo               = y.Empleado.Persona.CorreoPrivado,
                    ApellidoNombre       = y.Empleado.Persona.Nombres + " " + y.Empleado.Persona.Apellidos,
                    Sexo                 = y.Empleado.Persona.Sexo.Nombre,
                    GrupoOcupacional     = y.IndiceOcupacional.EscalaGrados.GrupoOcupacional.TipoEscala,
                    ModalidadLaboral     = y.TipoNombramiento.Nombre,
                    RegimenLaboral       = y.TipoNombramiento.RelacionLaboral.Nombre,
                    DenominacionPuesto   = y.IndiceOcupacional.ManualPuesto.Nombre,
                    UnidadAdministrativa = y.IndiceOcupacional.Dependencia.Nombre,
                }).FirstOrDefaultAsync();

                var plan = new PlanCapacitacion
                {
                    IdGestionPlanCapacitacion   = planCapacitacion.IdGestionPlanCapacitacion,
                    NumeroPartidaPresupuestaria = presupuesto.NumeroPartidaPresupuestaria,
                    Institucion           = datos2.Institucion,
                    Pais                  = datos2.Pais,
                    Provincia             = datos2.Provincia,
                    NombreCiudad          = datos2.NombreCiudad,
                    NivelDesconcentracion = planCapacitacion.NivelDesconcentracion,

                    UnidadAdministrativa = datos2.UnidadAdministrativa,
                    Cedula             = datos2.Cedula,
                    ApellidoNombre     = datos2.ApellidoNombre,
                    Sexo               = datos2.Sexo,
                    GrupoOcupacional   = datos2.GrupoOcupacional,
                    DenominacionPuesto = datos2.DenominacionPuesto,

                    RegimenLaboral    = datos2.RegimenLaboral,
                    ModalidadLaboral  = datos2.ModalidadLaboral,
                    TemaCapacitacion  = planCapacitacion.TemaCapacitacion,
                    ClasificacionTema = planCapacitacion.ClasificacionTema,
                    ProductoFinal     = planCapacitacion.ProductoFinal,
                    Modalidad         = planCapacitacion.Modalidad,
                    Duracion          = planCapacitacion.Duracion,

                    PresupuestoIndividual        = planCapacitacion.PresupuestoIndividual,
                    FechaCapacitacionPlanificada = planCapacitacion.FechaCapacitacionPlanificada,
                    TipoCapacitacion             = planCapacitacion.TipoCapacitacion,
                    EstadoEvento       = planCapacitacion.EstadoEvento,
                    AmbitoCapacitacion = planCapacitacion.AmbitoCapacitacion,
                    NombreEvento       = planCapacitacion.NombreEvento,
                    TipoEvento         = planCapacitacion.TipoEvento,

                    IdProveedorCapacitaciones = planCapacitacion.IdProveedorCapacitaciones,
                    DuracionEvento            = planCapacitacion.DuracionEvento,
                    Anio        = planCapacitacion.Anio,
                    FechaInicio = planCapacitacion.FechaInicio,
                    FechaFin    = planCapacitacion.FechaFin,
                    ValorReal   = planCapacitacion.ValorReal,
                    IdCiudad    = planCapacitacion.IdCiudad,

                    TipoEvaluacion = planCapacitacion.TipoEvaluacion,
                    Ubicacion      = planCapacitacion.Ubicacion,
                    Observacion    = planCapacitacion.Observacion,
                    Estado         = ConstantesCapacitacion.EstadoTerminado
                };

                db.PlanCapacitacion.Add(plan);
                await db.SaveChangesAsync();

                var correo = datos2.Correo;
                correoResponse.Add(EnviarMailDesdeCorreoTalentohumano(correo));

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }
        public async Task <Response> ObtenerDatosPlanCapacitaciones([FromBody] PlanCapacitacion planCapacitacion)
        {
            try
            {
                var capacitacion = await db.PlanCapacitacion.Where(x => x.IdPlanCapacitacion == planCapacitacion.IdPlanCapacitacion).FirstOrDefaultAsync();

                var datos = await db.Empleado.Where(x => x.Persona.Identificacion == capacitacion.Cedula).FirstOrDefaultAsync();

                var presupuesto = await db.Presupuesto.Where(x => x.NumeroPartidaPresupuestaria == capacitacion.NumeroPartidaPresupuestaria).FirstOrDefaultAsync();

                if (presupuesto != null)
                {
                    var datos2 = await db.IndiceOcupacionalModalidadPartida.Where(x => x.IdEmpleado == datos.IdEmpleado).OrderByDescending(x => x.Fecha).Select(y => new PlanCapacitacion
                    {
                        IdPlanCapacitacion        = capacitacion.IdPlanCapacitacion,
                        IdPresupuesto             = presupuesto.IdPresupuesto,
                        IdGestionPlanCapacitacion = capacitacion.IdGestionPlanCapacitacion,
                        IdEmpleado            = (int)y.IdEmpleado,
                        Institucion           = capacitacion.Institucion,
                        NivelDesconcentracion = capacitacion.NivelDesconcentracion,
                        Pais                         = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Pais.Nombre,
                        Provincia                    = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Provincia.Nombre,
                        NombreCiudad                 = y.IndiceOcupacional.Dependencia.Sucursal.Ciudad.Nombre,
                        Cedula                       = y.Empleado.Persona.Identificacion,
                        ApellidoNombre               = y.Empleado.Persona.Nombres + " " + y.Empleado.Persona.Apellidos,
                        Sexo                         = y.Empleado.Persona.Sexo.Nombre,
                        GrupoOcupacional             = y.IndiceOcupacional.EscalaGrados.GrupoOcupacional.TipoEscala,
                        ModalidadLaboral             = y.TipoNombramiento.Nombre,
                        RegimenLaboral               = y.TipoNombramiento.RelacionLaboral.Nombre,
                        DenominacionPuesto           = y.IndiceOcupacional.ManualPuesto.Nombre,
                        ProductoFinal                = capacitacion.ProductoFinal,
                        TemaCapacitacion             = capacitacion.TemaCapacitacion,
                        ClasificacionTema            = capacitacion.ClasificacionTema,
                        Modalidad                    = capacitacion.Modalidad,
                        Duracion                     = capacitacion.Duracion,
                        PresupuestoIndividual        = capacitacion.PresupuestoIndividual,
                        FechaCapacitacionPlanificada = capacitacion.FechaCapacitacionPlanificada,
                        TipoCapacitacion             = capacitacion.TipoCapacitacion,
                        EstadoEvento                 = capacitacion.EstadoEvento,
                        UnidadAdministrativa         = y.IndiceOcupacional.Dependencia.Nombre,
                        AmbitoCapacitacion           = capacitacion.AmbitoCapacitacion,
                        NombreEvento                 = capacitacion.NombreEvento,
                        TipoEvento                   = capacitacion.TipoEvento,
                        IdProveedorCapacitaciones    = capacitacion.IdProveedorCapacitaciones,
                        DuracionEvento               = capacitacion.DuracionEvento,
                        Anio                         = capacitacion.Anio,
                        FechaInicio                  = capacitacion.FechaInicio,
                        FechaFin                     = capacitacion.FechaFin,
                        ValorReal                    = capacitacion.ValorReal,
                        IdCiudad                     = capacitacion.IdCiudad,
                        TipoEvaluacion               = capacitacion.TipoEvaluacion,
                        Ubicacion                    = capacitacion.Ubicacion,
                        Observacion                  = capacitacion.Observacion
                    }).FirstOrDefaultAsync();

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

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

                return(new Response
                {
                    IsSuccess = false,
                    Message = "Verificar Presupuesto no Existe",
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }