Beispiel #1
0
        private string[] SeleccionarTematica(Tematica tema)
        {
            switch (tema)
            {
            case Tematica.Star:
                return(new string[] { @"Juego de cartas\Star\star1.jpg", @"Juego de cartas\Star\star2.jpg", @"Juego de cartas\Star\star3.jpg",
                                      @"Juego de cartas\Star\star4.jpg", @"Juego de cartas\Star\star5.jpg", @"Juego de cartas\Star\star6.jpg",
                                      @"Juego de cartas\Star\star7.jpg", @"Juego de cartas\Star\star8.jpg", @"Juego de cartas\Star\star9.jpg",
                                      @"Juego de cartas\Star\star10.jpg", @"Juego de cartas\Star\star11.jpg", @"Juego de cartas\Star\star12.jpg",
                                      @"Juego de cartas\Star\star13.jpg", @"Juego de cartas\Star\star14.jpg", @"Juego de cartas\Star\star15.jpg",
                                      @"Juego de cartas\Star\star16.jpg", @"Juego de cartas\Star\star17.jpg", @"Juego de cartas\Star\star18.jpg" });

            case Tematica.StevenUniverse:
                return(new string[] { @"Juego de cartas\Star\star1.jpg", @"Juego de cartas\Star\star2.jpg", @"Juego de cartas\Star\star3.jpg",
                                      @"Juego de cartas\Star\star4.jpg", @"Juego de cartas\Star\star5.jpg", @"Juego de cartas\Star\star6.jpg",
                                      @"Juego de cartas\Star\star7.jpg", @"Juego de cartas\Star\star8.jpg", @"Juego de cartas\Star\star9.jpg",
                                      @"Juego de cartas\Star\star10.jpg", @"Juego de cartas\Star\star11.jpg", @"Juego de cartas\Star\star12.jpg",
                                      @"Juego de cartas\Star\star13.jpg", @"Juego de cartas\Star\star14.jpg", @"Juego de cartas\Star\star15.jpg",
                                      @"Juego de cartas\Star\star16.jpg", @"Juego de cartas\Star\star17.jpg", @"Juego de cartas\Star\star18.jpg" });

            case Tematica.MyHeroAcademia:
                return(new string[] { @"Juego de cartas\MyHeroAcademia\mha1.jpg", @"Juego de cartas\MyHeroAcademia\mha2.jpg", @"Juego de cartas\MyHeroAcademia\mha3.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha4.jpg", @"Juego de cartas\MyHeroAcademia\mha5.jpg", @"Juego de cartas\MyHeroAcademia\mha6.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha7.jpg", @"Juego de cartas\MyHeroAcademia\mha8.jpg", @"Juego de cartas\MyHeroAcademia\mha9.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha10.jpg", @"Juego de cartas\MyHeroAcademia\mha11.jpg", @"Juego de cartas\MyHeroAcademia\mha12.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha13.jpg", @"Juego de cartas\MyHeroAcademia\mha14.jpg", @"Juego de cartas\MyHeroAcademia\mha15.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha16.jpg", @"Juego de cartas\MyHeroAcademia\mha17.jpg", @"Juego de cartas\MyHeroAcademia\mha18.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha19.jpg", @"Juego de cartas\MyHeroAcademia\mha20.jpg", @"Juego de cartas\MyHeroAcademia\mha21.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha22.jpg", @"Juego de cartas\MyHeroAcademia\mha23.jpg", @"Juego de cartas\MyHeroAcademia\mha24.jpg",
                                      @"Juego de cartas\MyHeroAcademia\mha25.jpg", @"Juego de cartas\MyHeroAcademia\mha26.jpg" });
            }

            throw new Exception("La tematica seleccionada no existe.");
        }
Beispiel #2
0
        private Tematica ModelToEntity(TematicaModel model, Tematica entity)
        {
            entity.IdTematica = model.IdTematica;
            entity.Titulo     = model.Titulo;
            entity.Descricao  = model.Descricao;

            return(entity);
        }
        public ActionResult DeleteConfirmed(string id)
        {
            Tematica tematica = db.Tematica.Find(id);

            db.Tematica.Remove(tematica);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public int GuardarTematica(Tematica tematica)
 {
     using (ModeloDeDominio modeloDeDominio = new ModeloDeDominio())
     {
         modeloDeDominio.Add(tematica);
         modeloDeDominio.SaveChanges();
         return(tematica.IdTematica);
     }
 }
Beispiel #5
0
        /// <summary>
        /// Guarda una tematica a disc per poder utilitzar en futures execucions
        /// </summary>
        /// <param name="t">Tematica a guardar</param>
        public static void GuardarTematica(Tematica t)
        {
            StreamWriter sw = new StreamWriter(string.Format("../../../../Tematiques/{0}.txt", "tematiques"), true);

            sw.WriteLine(t.nom);
            sw.Close();
            sw = new StreamWriter(string.Format("../../../../Tematiques/{0}.txt", t.nom), false);
            GuardarPregunta(t.preguntes, sw);
            sw.Close();
        }
 public ActionResult Edit([Bind(Include = "codigo,descripcion")] Tematica tematica)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tematica).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tematica));
 }
        private TematicaViewModel toTematicaViewModel(Tematica tematica)
        {
            return(new TematicaViewModel
            {
                Id = tematica.Id,
                Nombre = tematica.Nombre,

                ImageURL = tematica.ImageURL
            });
        }
        public string TraerTematica(int id)
        {
            using (ModeloDeDominio modeloDeDominio = new ModeloDeDominio())
            {
                Tematica result = modeloDeDominio.Tematicas.Where(c => c.IdTematica == id).FirstOrDefault();

                modeloDeDominio.CreateDetachedCopy(result);

                return(result.Nombre);
            }
        }
        public int TraerTematicaIdSegunItem(string item)
        {
            using (ModeloDeDominio modeloDeDominio = new ModeloDeDominio())
            {
                Tematica result = modeloDeDominio.Tematicas.Where(c => c.Nombre == item).FirstOrDefault();

                modeloDeDominio.CreateDetachedCopy(result);

                return(result.IdTematica);
            }
        }
        public ActionResult Create([Bind(Include = "codigo,descripcion")] Tematica tematica)
        {
            if (ModelState.IsValid)
            {
                db.Tematica.Add(tematica);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(tematica));
        }
Beispiel #11
0
 public async Task Create(Tematica model)
 {
     try
     {
         _db.Tematica.Add(model);
         await _db.SaveChangesAsync();
     }
     catch (Exception e)
     {
         throw new Exception(e.Message, e);
     }
 }
Beispiel #12
0
        public void GuardarTematicaE_Tematica_GetListTematicas()
        {
            competenciaRepositorio = new CompetenciaRepositorio();
            Tematica tematic = new Tematica();

            tematic.Tematicas    = "Prueba unitaria";
            tematic.TipoTematica = 2;
            int             SessionEmp = 9;
            List <Tematica> tematicas  = competenciaRepositorio.GuardarTematicaE(tematic, SessionEmp);

            Assert.IsNotNull(tematicas, "La petición falló, el objeto es nulo");
            Assert.IsTrue(tematicas.Count > 0, "La petición falló, la lista de estándares esta vacía");
        }
Beispiel #13
0
        public Juego(sbyte cuantas, Tematica tema)
        {
            InitializeComponent();

            this.cuantas = cuantas;
            string[] barajaCompleta     = SeleccionarTematica(tema);
            string[] barajaSeleccionada = CojeCartas(cuantas, barajaCompleta);
            string[] barajaAUsar        = DuplicaCartas(barajaSeleccionada);
            string[] barajaMezclada     = MezclaCartas(barajaAUsar);
            trasera = EligeTrasera();
            tablero = FormaTablero(barajaMezclada);
            DibujarCartas(tablero);
        }
        // GET: Tematicas/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Tematica tematica = db.Tematica.Find(id);

            if (tematica == null)
            {
                return(HttpNotFound());
            }
            return(View(tematica));
        }
Beispiel #15
0
        public async Task Update(Tematica model)
        {
            try
            {
                var _model = await _db.Tematica.FirstOrDefaultAsync(e => e.TematicaId == model.TematicaId);

                if (_model != null)
                {
                    _db.Entry(_model).CurrentValues.SetValues(model);
                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
        /// <summary>
        /// Método para guardar una tematica tipo empresa
        /// </summary>
        /// <param name="Tematica", name="SessionEmp"></param>
        /// <returns>List<Tematica></returns>
        public List <Tematica> GuardarTematicaE(Tematica tematic, int SessionEmp)
        {
            try
            {
                tematic.SesionEmpresa = SessionEmp;
                db.Tbl_Tematica.Add(tematic);
                db.SaveChanges();
                List <Tematica> tematicas = db.Tbl_Tematica.Where(p => p.TipoTematica == 2 && p.SesionEmpresa == SessionEmp).ToList();
                return(tematicas);
            }

            catch (Exception)
            {
                return(null);

                throw;
            }
        }
Beispiel #17
0
        public async Task UpdateEstado(Tematica model)
        {
            try
            {
                var _model = await _db.Tematica.FirstOrDefaultAsync(e => e.TematicaId == model.TematicaId);

                if (_model != null)
                {
                    _model.Estado = model.Estado;

                    await _db.SaveChangesAsync();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
        }
Beispiel #18
0
        /// <summary>
        /// Para guardar la temática creada por el usuario
        /// </summary>
        /// <param name="tematicasEmp", name="res"></param>
        /// <returns>tematicas</returns>

        public ActionResult GuardarTematicaE(string tematicasEmp, string res)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo.";
                return RedirectToAction("Login", "Home");
            }
            Tematica tematic = new Tematica();
            tematic.Tematicas = tematicasEmp;
            tematic.TipoTematica = 2;
            if (res == null)
            {
                tematic.NombreDocumento = null;
            }
            else
            {
                tematic.NombreDocumento = res;
            }
            int SessionEmp= usuarioActual.IdEmpresa;
            List<Tematica> temExist =CompetenciaRepositorio.ObtenerTematicaEmpresa(SessionEmp);
            foreach (var tem in temExist) {
                if (tem.Tematicas.Equals(tematic.Tematicas))
                    return Json("", JsonRequestBehavior.AllowGet);
            }

            List<Tematica> tematicas = CompetenciaRepositorio.GuardarTematicaE(tematic, SessionEmp);
            if (tematicas.Count != 0)
            {
                return Json(
                   tematicas.Select(tematica => new
                   {
                       Id_Tematica = tematica.Id_Tematica,
                       Descripcio_Tematicas = tematica.Tematicas,
                       NombreDocumento = tematica.NombreDocumento

                   })
                , JsonRequestBehavior.AllowGet);
            }
            else
            {
                return Json(false, JsonRequestBehavior.AllowGet);
            }
        }
Beispiel #19
0
                                                      public async Task <IHttpActionResult> Update([FromBody] Tematica model)
                                                      {
                                                          if (!ModelState.IsValid)
                                                          {
                                                              return(BadRequest(ModelState));
                                                          }

                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                await _entityRepo.Update(model);

                                                                return(Ok("Registro actualizado exitosamente!")); }
                                                          catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                return(InternalServerError(e)); }
                                                      }
        // GET: Registrar_Cursos
        public ActionResult Registrar_Cursos(Registrar_Cursos obj, Tematica t, Horas_diplomado horas, HttpPostedFileBase file, Docentes d)
        {
            Models.Login user = Session["usuario"] as Models.Login;

            if (user == null)
            {
                return(RedirectToAction("Login", "Login"));
            }
            else
            {
                if (Convert.ToInt32(user.rol) > 3)
                {
                    return(RedirectToAction("principalplataforma", "PrincipalPlataforma"));
                }
                else
                {
                    if (Request.Form["listar"] != null)
                    {
                        t.id_tematica = Request.Form["listar"].ToString();
                    }
                    if (Request.Form["listar1"] != null)
                    {
                        horas.id_horas = Request.Form["listar1"].ToString();
                    }
                    if (Request.Form["listar2"] != null)
                    {
                        d.id_docente = Request.Form["listar2"].ToString();
                    }
                    List <SelectListItem> prueba = ViewData["lista"] as List <SelectListItem>;
                    if (prueba == null)
                    {
                        Plataforma_academica.Models.Tematica          te = new Plataforma_academica.Models.Tematica();
                        Plataforma_academica.Models.Tematica[]        temati;
                        Plataforma_academica.Models.Horas_diplomado   ho = new Plataforma_academica.Models.Horas_diplomado();
                        Plataforma_academica.Models.Horas_diplomado[] hor;
                        Plataforma_academica.Models.Docentes          doc = new Plataforma_academica.Models.Docentes();
                        Plataforma_academica.Models.Docentes[]        doce;

                        temati = te.BuscarTematicas();
                        hor    = ho.BuscarHoras();
                        doce   = doc.BuscarDocentes();

                        List <SelectListItem> lista = new List <SelectListItem>();
                        foreach (Tematica i in temati)
                        {
                            lista.Add(new SelectListItem
                            {
                                Text     = i.nombre_tematica,
                                Value    = i.id_tematica,
                                Selected = false
                            });
                        }
                        ViewData["lista1"] = lista;

                        List <SelectListItem> lista1 = new List <SelectListItem>();
                        for (int i = 1; i < 6; i++)
                        {
                            lista1.Add(new SelectListItem
                            {
                                Text     = Convert.ToString(i),
                                Value    = Convert.ToString(i),
                                Selected = false
                            });
                        }
                        ViewData["lista2"] = lista1;

                        List <SelectListItem> lista5 = new List <SelectListItem>();
                        foreach (Horas_diplomado i in hor)
                        {
                            lista5.Add(new SelectListItem
                            {
                                Text     = i.cantidad_horas,
                                Value    = i.id_horas,
                                Selected = false
                            });
                        }
                        ViewData["lista5"] = lista5;

                        List <SelectListItem> lista6 = new List <SelectListItem>();
                        foreach (Docentes i in doce)
                        {
                            lista6.Add(new SelectListItem
                            {
                                Text     = i.nombre,
                                Value    = i.id_docente,
                                Selected = false
                            });
                        }
                        ViewData["lista6"] = lista6;
                    }
                }
                String codig100 = Request.Form["ir100"];
                if (codig100 != null)
                {
                    ViewBag.mensajebasico = obj.cantidadBasico;
                    ViewBag.mensaje1      = "Registro exitoso";
                }
                else
                {
                    String codig101 = Request.Form["ir101"];
                    if (codig101 != null)
                    {
                        if (obj.Registrar_curso_(obj, Subir(file)))
                        {
                            if (obj.cantidadBasico > 0)
                            {
                                if (obj.Registrar_curso_nivel(obj, 1))
                                {
                                    for (int i = 0; i < obj.cantidadBasico; i++)
                                    {
                                        obj.Registrar_curso_unidad(obj, 1, obj.basico[i], obj.descripcionbasico[i]);
                                    }
                                    ViewBag.mensaje2 = "Registro exito";
                                }
                            }
                        }
                        else
                        {
                            ViewBag.mensaje2 = "Registro no";
                        }
                    }
                }
            }
            return(View());
        }
Beispiel #21
0
 public int GuardarTematica(Tematica tematica)
 {
     return(tematicaRepo.GuardarTematica(tematica));
 }
Beispiel #22
0
                                                      [Authorize] public async Task <IHttpActionResult> Create([FromBody] Tematica model)
                                                      {
                                                          if (!ModelState.IsValid)
                                                          {
                                                              return(BadRequest(ModelState));
                                                          }

                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                await _entityRepo.Create(model);

                                                                return(Ok("Registro creado exitosamente!")); }
                                                          catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);
                                                                                if (e.Message.Substring(0, 44) == "An error occurred while updating the entries")
                                                                                {
                                                                                    return(BadRequest("Ya existe un registro con ese nombre"));
                                                                                }
                                                                                return(InternalServerError(e)); }
                                                      }
Beispiel #23
0
                                                      public async Task <IHttpActionResult> UpdateEstado([FromBody] Tematica model)
                                                      {
                                                          try { log.Info(new MDCSet(this.ControllerContext.RouteData));
                                                                await _entityRepo.UpdateEstado(model);

                                                                return(Ok()); }
                                                          catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e);

                                                                                return(InternalServerError(e)); }
                                                      }
        /// <summary>
        /// Metodo para guardar o editar  las competencias
        /// </summary>
        /// <param name="Fk_Id_Rol", name="Fk_Id_Cargo", name="idEmpleados", name="Id_TematicaPos", name="editar"></param>
        /// <returns></returns>
        public bool GrabarCompetencia(List <int> Fk_Id_Rol, List <int> Fk_Id_Cargo,
                                      string idEmpleados, List <Tematica> Id_TematicaPos, int editar, int SessionEmp, EDInformacionAuditoria edInfoauditoria)
        {
            Cargo    Car = new Cargo();
            Tematica Tem = new Tematica();
            Rol      Ro  = new Rol();
            // List<Tematica> Tematic = new List<Tematica>();
            List <Cargo>               Carg                   = new List <Cargo>();
            List <Rol>                 ListRo                 = new List <Rol>();
            List <EmpleadoTematica>    ListEmpTematica        = new List <EmpleadoTematica>();
            List <EmpleadoPorTematica> ListEmpPorTematica     = new List <EmpleadoPorTematica>();
            List <CargoPorRol>         CargoPorRolList        = new List <CargoPorRol>();
            List <RolPorTematica>      RolPorTematicaList     = new List <RolPorTematica>();
            List <TematicaPorEmpresa>  TematicaPorEmpresaList = new List <TematicaPorEmpresa>();

            try
            {
                foreach (var CarU in Fk_Id_Cargo)
                {
                    Car = db.Tbl_Cargo.Where(u => u.Pk_Id_Cargo == CarU).FirstOrDefault();
                    Carg.Add(Car);
                }
                foreach (var IdRol in Fk_Id_Rol)
                {
                    Ro = db.Tbl_Rol.Where(u => u.Pk_Id_Rol == IdRol).FirstOrDefault();
                    ListRo.Add(Ro);
                }
                if (idEmpleados != null && idEmpleados != "")
                {
                    string[] id = idEmpleados.Split('|');
                    foreach (var idEmp in id)
                    {
                        string[]         identificacion   = idEmp.Split('&');
                        int              idInt            = Convert.ToInt32(identificacion[0]);
                        EmpleadoTematica empleadoTematica = db.Tbl_Empleado_Tematica.Where(e => e.Numero_Documento == idInt).FirstOrDefault();
                        if (empleadoTematica == null)
                        {
                            empleadoTematica = new EmpleadoTematica();
                            empleadoTematica.Numero_Documento   = idInt;
                            empleadoTematica.Nombre_Empleado    = identificacion[1] + " " + identificacion[2];
                            empleadoTematica.Apellidos_Empleado = identificacion[3] + " " + identificacion[4];
                            empleadoTematica.Cargo_Empleado     = identificacion[5];
                            empleadoTematica.Email_Persona      = identificacion[6];
                            /*inicio auditoria*/
                            if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                            {
                                db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                      empleadoTematica.ToString()));
                            }
                            /*fin auditoria*/
                            ListEmpTematica.Add(empleadoTematica);
                        }
                    }
                }
                db.Tbl_Empleado_Tematica.AddRange(ListEmpTematica);
                db.SaveChanges();

                foreach (var rols in ListRo)
                {
                    foreach (var capt in Carg)
                    {
                        CargoPorRol CargPorRol = new CargoPorRol();
                        CargPorRol.Fk_Id_Cargo = capt.Pk_Id_Cargo;
                        CargPorRol.Fk_Id_Rol   = rols.Pk_Id_Rol;
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                        {
                            db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                  CargPorRol.ToString()));
                        }
                        /*fin auditoria*/
                        CargoPorRolList.Add(CargPorRol);
                    }
                    foreach (var tematica in Id_TematicaPos)
                    {
                        RolPorTematica RolPorTematica = new RolPorTematica();
                        RolPorTematica.Fk_Id_Tematica = tematica.Id_Tematica;
                        RolPorTematica.Fk_Id_Rol      = rols.Pk_Id_Rol;
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                        {
                            db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                  RolPorTematica.ToString()));
                        }
                        /*fin auditoria*/
                        RolPorTematicaList.Add(RolPorTematica);
                    }
                    if (idEmpleados != null && idEmpleados != "")
                    {
                        string[] id = idEmpleados.Split('|');
                        foreach (var idEmp in id)
                        {
                            EmpleadoPorTematica empleadoPorTematica = new EmpleadoPorTematica();
                            string[]            identificacion      = idEmp.Split('&');
                            int idInt = Convert.ToInt32(identificacion[0]);
                            EmpleadoTematica empleadoTematica = db.Tbl_Empleado_Tematica.Where(e => e.Numero_Documento == idInt).FirstOrDefault();
                            empleadoPorTematica.Fk_Id_Tematica = empleadoTematica.Pk_Id_EmpleadoTematica;
                            empleadoPorTematica.Fk_Id_Rol      = rols.Pk_Id_Rol;
                            /*inicio auditoria*/
                            if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                            {
                                db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                      Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                      empleadoPorTematica.ToString()));
                            }
                            /*fin auditoria*/
                            ListEmpPorTematica.Add(empleadoPorTematica);
                        }
                    }
                }

                foreach (var tpE in Id_TematicaPos)
                {
                    TematicaPorEmpresa TematicaPorEmpresa = new TematicaPorEmpresa();
                    TematicaPorEmpresa.Fk_Id_Tematica = tpE.Id_Tematica;
                    TematicaPorEmpresa.Fk_Id_Empresa  = SessionEmp;
                    /*inicio auditoria*/
                    if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                    {
                        db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                              Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                              Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                              Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                              Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                              TematicaPorEmpresa.ToString()));
                    }
                    /*fin auditoria*/
                    TematicaPorEmpresaList.Add(TematicaPorEmpresa);
                }
                /*Si necesitamos editar, eliminamos las competencias para luego reasignarlas*/
                if (editar != 0)
                {
                    List <RolPorTematica>      RolPorTematica      = db.Tbl_Rol_Por_Tematica.Where(s => s.Fk_Id_Rol == editar).ToList();
                    List <CargoPorRol>         CargoPorRol         = db.Tbl_Cargo_Por_Rol.Where(t => t.Fk_Id_Rol == editar).ToList();
                    List <EmpleadoPorTematica> EmpleadoPorTematica = db.Tbl_Empleado_Por_Tematica.Where(t => t.Fk_Id_Rol == editar).ToList();
                    foreach (RolPorTematica rt in RolPorTematica)
                    {
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                        {
                            db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Acciones.ELIMINACION,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                  rt.ToString()));
                        }
                    }
                    /*fin auditoria*/
                    foreach (CargoPorRol cpr in CargoPorRol)
                    {
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                        {
                            db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Acciones.ELIMINACION,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                  cpr.ToString()));
                        }
                    }
                    /*fin auditoria*/
                    foreach (EmpleadoPorTematica ept in EmpleadoPorTematica)
                    {
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaOrganizacion)
                        {
                            db.Tbl_AuditoriaOrganizacionSistema.Add(auditoriaSistema.ObtenerAuditoriaOrganizacion(edInfoauditoria,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Acciones.ELIMINACION,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Modulos.Organizacion,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.SubModulos.Competencias_SST,
                                                                                                                  Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Asignar_Competencia,
                                                                                                                  ept.ToString()));
                        }
                    }
                    /*fin auditoria*/
                    db.Tbl_Rol_Por_Tematica.RemoveRange(RolPorTematica);
                    db.Tbl_Cargo_Por_Rol.RemoveRange(CargoPorRol);
                    db.Tbl_Empleado_Por_Tematica.RemoveRange(EmpleadoPorTematica);
                }
                db.Tbl_Cargo_Por_Rol.AddRange(CargoPorRolList);
                db.Tbl_Rol_Por_Tematica.AddRange(RolPorTematicaList);
                db.Tbl_Tematica_Por_Empresa.AddRange(TematicaPorEmpresaList);
                db.Tbl_Empleado_Por_Tematica.AddRange(ListEmpPorTematica);
                db.SaveChanges();
                return(true);
            }

            catch (Exception ex)
            {
                return(false);

                throw;
            }
        }