Esempio n. 1
0
        public bool GuardarOrganigrama(EmpleadoOrg empleadoorg, int Pk_Id_Empresa, EDInformacionAuditoria edInfoauditoria)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    Organigrama organigrama = ObtenerOrganigrama(Pk_Id_Empresa);

                    if (organigrama != null)
                    {
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaEmpresa)
                        {
                            db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.SubModulos.Gobierno_organizacional,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.Opciones.Organigrama,
                                                                                                        organigrama.ToString()));
                        }
                        /*fin auditoria*/
                        organigrama.EmpleadosOrg.Add(empleadoorg);
                    }
                    else
                    {
                        Organigrama org = new Organigrama();
                        org.Fk_Id_Empresa = Pk_Id_Empresa;
                        org.EmpleadosOrg  = new List <EmpleadoOrg>();
                        org.EmpleadosOrg.Add(empleadoorg);
                        /*inicio auditoria*/
                        if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaEmpresa)
                        {
                            db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.SubModulos.Gobierno_organizacional,
                                                                                                        Enumeraciones.EnumAuditoriaSistema.Opciones.Organigrama,
                                                                                                        org.ToString()));
                        }
                        /*fin auditoria*/
                        db.Tbl_Organigrama.Add(org);
                    }
                    db.SaveChanges();
                    transaction.Commit();

                    return(true);
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    return(false);
                }
            }
        }
Esempio n. 2
0
 public void GrabarGobierno(Gobierno gobierno, int Pk_Id_Empresa, EDInformacionAuditoria edInfoauditoria)
 {
     using (var transaction = db.Database.BeginTransaction())
     {
         try
         {
             gobierno.Fk_Id_Empresa = Pk_Id_Empresa;
             /*inicio auditoria*/
             if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial)
             {
                 db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                             Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                             Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                             Enumeraciones.EnumAuditoriaSistema.SubModulos.Gobierno_organizacional,
                                                                                             Enumeraciones.EnumAuditoriaSistema.Opciones.Mision,
                                                                                             gobierno.ToString()));
             }
             /*fin auditoria*/
             db.Tbl_Gobierno.Add(gobierno);
             db.SaveChanges();
             transaction.Commit();
         }
         catch (Exception)
         {
             transaction.Rollback();
         }
     }
 }
Esempio n. 3
0
        //[ValidateAntiForgeryToken]
        public ActionResult Edit([Bind(Include = "Id_EmpleadoOrg,Jefe_Inmediato,Cargo_Empleado,Fk_Id_EmpleadoOrg,Fk_Id_Organigrama")] EmpleadoOrg empleadoOrg, string ipUsuario)
        {
            var cargo = false;

            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);
            int pkidempresa   = usuarioActual.IdEmpresa;

            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo.";
                return(RedirectToAction("Login", "Home"));
            }
            if (ModelState.IsValid)
            {
                if (empleadoOrg != null)
                {
                    empleadoOrg.Cargo_Empleado = empleadoOrg.Cargo_Empleado.ToUpper();

                    List <EmpleadoOrg> buscar = (from p in db.Tbl_EmpleadoOrg.AsNoTracking()
                                                 join pe in db.Tbl_Organigrama on p.Fk_Id_Organigrama equals pe.Pk_Id_Organigrama
                                                 where pe.Fk_Id_Empresa == pkidempresa
                                                 select p).ToList();


                    if (buscar != null)
                    {
                        foreach (var rs in buscar)
                        {
                            if (rs.Cargo_Empleado == empleadoOrg.Cargo_Empleado && rs.Id_EmpleadoOrg != empleadoOrg.Id_EmpleadoOrg)
                            {
                                cargo = true;
                            }
                        }
                        if (cargo != false)
                        {
                            ViewBag.mensaje1 = "El Cargo Ingresado ya existe.";
                            return(View("Index", buscar));
                        }
                    }
                    EDInformacionAuditoria edInfoauditoria = new EDInformacionAuditoria()
                    {
                        IdentificacionUsuario = usuarioActual.Documento,
                        NombreUsuario         = usuarioActual.NombreUsuario,
                        NitEmpresa            = usuarioActual.NitEmpresa,
                        NombreEmpresa         = usuarioActual.RazonSocialEmpresa,
                        IpUsuario             = ipUsuario
                    };
                    /*inicio auditoria*/
                    if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaEmpresa)
                    {
                        SG_SSTContext dbaud   = new SG_SSTContext();
                        EmpleadoOrg   emplorg = dbaud.Tbl_EmpleadoOrg.Find(empleadoOrg.Id_EmpleadoOrg);
                        db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.SubModulos.Gobierno_organizacional,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.Opciones.Organigrama,
                                                                                                    emplorg.ToString()));
                    }
                    /*fin auditoria*/
                    db.Entry(empleadoOrg).State = EntityState.Modified;
                    db.SaveChanges();
                    ViewBag.mensaje = "Cargo Seleccionado Modificado Satisfactoriamente.";
                    List <EmpleadoOrg> busca = (from p in db.Tbl_EmpleadoOrg.AsNoTracking()
                                                join pe in db.Tbl_Organigrama on p.Fk_Id_Organigrama equals pe.Pk_Id_Organigrama
                                                where pe.Fk_Id_Empresa == pkidempresa
                                                select p).ToList();
                    return(View("Index", busca));
                }
            }


            ViewBag.Fk_Id_Organigrama = new SelectList(db.Tbl_Organigrama.Where(o => o.Fk_Id_Empresa == usuarioActual.IdEmpresa), "Pk_Id_Organigrama", "Fk_Id_Organigrama", empleadoOrg.Fk_Id_Organigrama);
            ViewBag.Fk_Id_EmpleadoOrg = new SelectList(db.Tbl_EmpleadoOrg.Where(eo => eo.Organigrama.Fk_Id_Empresa == usuarioActual.IdEmpresa), "Id_EmpleadoOrg", "Cargo_Empleado", empleadoOrg.Fk_Id_EmpleadoOrg);

            return(View(empleadoOrg));
        }
Esempio n. 4
0
        //Metodo para Cargar Archivo Organigrama
        public ActionResult CreateO(HttpPostedFileBase CargarImagen, string ipUsuario)
        {
            int    sw                = 0;
            var    pkorganigrama     = 0;
            string NombreOrganigrama = "";
            var    usuarioActual     = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo.";
                return(RedirectToAction("Login", "Home"));
            }

            EmpresaServicios = new EmpresaServicios(db);

            var path = "";

            ViewBag.espdf = false;

            try
            {
                Organigrama organigrama = db.Tbl_Organigrama.Find(usuarioActual.IdEmpresa);


                if (CargarImagen != null &&
                    (Path.GetExtension(CargarImagen.FileName).ToLower() == ".jpg" ||
                     Path.GetExtension(CargarImagen.FileName).ToLower() == ".png" ||
                     Path.GetExtension(CargarImagen.FileName).ToLower() == ".pdf") &&
                    CargarImagen.ContentLength <= (6 * 1024 * 1024))
                {
                    if (Path.GetExtension(CargarImagen.FileName).ToLower() == ".pdf")
                    {
                        ViewBag.espdf = true;
                    }
                    Organigrama            ime             = db.Tbl_Organigrama.First(o => o.Fk_Id_Empresa == usuarioActual.IdEmpresa);
                    EDInformacionAuditoria edInfoauditoria = new EDInformacionAuditoria()
                    {
                        IdentificacionUsuario = usuarioActual.Documento,
                        NombreUsuario         = usuarioActual.NombreUsuario,
                        NitEmpresa            = usuarioActual.NitEmpresa,
                        NombreEmpresa         = usuarioActual.RazonSocialEmpresa,
                        IpUsuario             = ipUsuario
                    };
                    /*inicio auditoria*/
                    if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaEmpresa)
                    {
                        db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.SubModulos.Gobierno_organizacional,
                                                                                                    Enumeraciones.EnumAuditoriaSistema.Opciones.Organigrama,
                                                                                                    ime.ToString()));
                    }
                    /*fin auditoria*/
                    if (ime == null || ime.Imagen_Organigrama == null)
                    {
                        path = rutaRepositorioFile + rutaMEmpresa + rutaOGobiernoOrganizacional + rutaOOrganigrama + usuarioActual.NitEmpresa;
                        if (!Directory.Exists(path))
                        {
                            System.IO.Directory.CreateDirectory(path);
                        }
                        path = Path.Combine(path, CargarImagen.FileName);
                        ime.Imagen_Organigrama      = CargarImagen.FileName;
                        ime.Descripcion_Organigrama = "Organigrama: " + usuarioActual.RazonSocialEmpresa;
                        CargarImagen.SaveAs(path);
                        NombreOrganigrama = ime.Imagen_Organigrama;
                        pkorganigrama     = ime.Pk_Id_Organigrama;
                        sw = pkorganigrama;
                        db.SaveChanges();
                        ViewBag.mensaje = "Archivo Almacenado Correctamente.!";
                    }
                    else
                    {
                        path = rutaRepositorioFile + rutaMEmpresa + rutaOGobiernoOrganizacional + rutaOOrganigrama + usuarioActual.NitEmpresa;
                        var file     = ime.Imagen_Organigrama;
                        var fullPath = Path.Combine(path, file);
                        if (System.IO.File.Exists(fullPath))
                        {
                            System.IO.File.Delete(fullPath);
                        }
                        if (!Directory.Exists(path))
                        {
                            System.IO.Directory.CreateDirectory(path);
                        }
                        path = Path.Combine(path, CargarImagen.FileName);
                        CargarImagen.SaveAs(path);
                        ime.Imagen_Organigrama      = CargarImagen.FileName;
                        ime.Descripcion_Organigrama = "Organigrama: " + usuarioActual.RazonSocialEmpresa;
                        db.Entry(ime).State         = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                        NombreOrganigrama = ime.Imagen_Organigrama;
                        pkorganigrama     = ime.Pk_Id_Organigrama;
                        sw = pkorganigrama;
                        ViewBag.mensaje = "Archivo  almacenado correctamente.!";
                    }
                }
                else
                {
                    Organigrama ime = db.Tbl_Organigrama.FirstOrDefault(o => o.Fk_Id_Empresa == usuarioActual.IdEmpresa && o.Imagen_Organigrama != null);
                    if (ime != null)
                    {
                        if (Path.GetExtension(ime.Imagen_Organigrama).ToLower() == ".pdf")
                        {
                            ViewBag.espdf = true;
                        }
                        NombreOrganigrama = ime.Imagen_Organigrama;
                    }
                    ViewBag.pkidempresa = usuarioActual.IdEmpresa;

                    //ViewBag.mensaje1 = "No cargaste ningun archivo, o el archivo supera el maximo permitido que son 6 megabytes, y solo se pueden cargar archivos .PDF, .JPG o .PNG.!";
                    ViewBag.mensaje3 = true;
                }
            }
            catch (Exception e)
            {
                //ViewBag.mensaje1 = "No se pudo realizar la transaccion, Primero debe Registrar los Cargos.";
                ViewBag.mensaje4 = true;
            }
            if (sw != null)
            {
                ViewBag.pkorgranigrama = sw;
                //ViewBag.NombreOrganigrama = NombreOrganigrama;
            }
            ViewBag.NombreOrganigrama = NombreOrganigrama;
            ViewBag.Entro             = 1;
            return(View("Index", ViewBag.pkorgranigrama));
        }
Esempio n. 5
0
        public ElementoMatriz AgregarElementoMatriz(ElementoMatriz elementoMatriz, int Pk_Id_Empresa, EDInformacionAuditoria edInfoauditoria)
        {
            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    int    pk_IdEmpresa = Pk_Id_Empresa;
                    Matriz matriz       = db.Tbl_Matriz.Where(m => m.FK_Empresa == pk_IdEmpresa).FirstOrDefault();
                    //Preguntamos si el elemento de la matriz tiene id de la matriz si lo tiene lo agregamos o sino
                    // creamos la matriz
                    if (matriz == null)
                    {
                        matriz                 = new Matriz();
                        matriz.Empresa         = db.Tbl_Empresa.Find(pk_IdEmpresa);
                        matriz.ElementosMatriz = new List <ElementoMatriz>();
                        matriz.ElementosMatriz.Add(elementoMatriz);
                        /*inicio auditoria*/
                        int tipoMatriz = db.Tbl_Tipo_Elemento_Analisis.Find(elementoMatriz.FK_TipoElementoAnalisis).FK_Tipo_Analisis;
                        if (tipoMatriz == 1)
                        {
                            if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial)
                            {
                                db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.SubModulos.Consideraciones_internas_y_externas,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_DOFA,
                                                                                                            matriz.ToString()));
                            }
                        }
                        else
                        {
                            if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial)
                            {
                                db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.SubModulos.Consideraciones_internas_y_externas,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_PEST,
                                                                                                            matriz.ToString()));
                            }
                        }
                        /*fin auditoria*/
                        db.Tbl_Matriz.Add(matriz);
                    }
                    else
                    {
                        elementoMatriz.FK_Matriz = matriz.PK_Matriz;
                        /*inicio auditoria*/
                        int tipoMatriz = db.Tbl_Tipo_Elemento_Analisis.Find(elementoMatriz.FK_TipoElementoAnalisis).FK_Tipo_Analisis;
                        if (tipoMatriz == 1)
                        {
                            if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial)
                            {
                                db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.SubModulos.Consideraciones_internas_y_externas,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_DOFA,
                                                                                                            elementoMatriz.ToString()));
                            }
                        }
                        else
                        {
                            if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial)
                            {
                                db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.SubModulos.Consideraciones_internas_y_externas,
                                                                                                            Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_PEST,
                                                                                                            elementoMatriz.ToString()));
                            }
                        }
                        /*fin auditoria*/
                        db.Tbl_Elemento_Matriz.Add(elementoMatriz);
                    }

                    db.SaveChanges();
                    transaction.Commit();
                    return(elementoMatriz);
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    return(elementoMatriz);
                }
            }
        }
Esempio n. 6
0
        public ActionResult Create(Proceso proceso, string ipUsuario)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo.";
                return(RedirectToAction("Login", "Home"));
            }
            var sw        = false;
            int pkempresa = usuarioActual.IdEmpresa;

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    if (ModelState.IsValid)
                    {
                        proceso.Descripcion_Proceso = proceso.Descripcion_Proceso.ToUpper();
                        List <Proceso> procesos = (from p in db.Tbl_Procesos
                                                   join pe in db.Tbl_ProcesoEmpresa on p.Pk_Id_Proceso equals pe.Fk_Id_Proceso
                                                   where pe.Fk_Id_Empresa == pkempresa
                                                   select p).ToList();
                        if (procesos != null)
                        {
                            for (int i = 0; i < procesos.Count; i++)
                            {
                                if (proceso.Descripcion_Proceso == procesos[i].Descripcion_Proceso)
                                {
                                    sw = true;
                                }
                            }
                            if (sw == true)
                            {
                                ViewBag.Message1 = "El Registro Ingresado ya Existe.";
                                return(View("Index", procesos));
                            }

                            else
                            {
                                EDInformacionAuditoria edInfoauditoria = new EDInformacionAuditoria()
                                {
                                    IdentificacionUsuario = usuarioActual.Documento,
                                    NombreUsuario         = usuarioActual.NombreUsuario,
                                    NitEmpresa            = usuarioActual.NitEmpresa,
                                    NombreEmpresa         = usuarioActual.RazonSocialEmpresa,
                                    IpUsuario             = ipUsuario
                                };
                                /*inicio auditoria*/
                                if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaEmpresa)
                                {
                                    db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaEmpresa(edInfoauditoria,
                                                                                                                Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa,
                                                                                                                Enumeraciones.EnumAuditoriaSistema.SubModulos.Gobierno_organizacional,
                                                                                                                Enumeraciones.EnumAuditoriaSistema.Opciones.Mapa_de_procesos,
                                                                                                                proceso.ToString()));
                                }
                                db.Tbl_Procesos.Add(proceso);
                                db.Tbl_ProcesoEmpresa.Add(new ProcesoEmpresa
                                {
                                    Fk_Id_Empresa = usuarioActual.IdEmpresa,
                                    Fk_Id_Proceso = proceso.Pk_Id_Proceso
                                });
                            }
                        }
                        db.SaveChanges();
                        transaction.Commit();
                    }
                }
                catch
                {
                    transaction.Rollback();
                }
            }

            List <Proceso> process = (from p in db.Tbl_Procesos
                                      join pe in db.Tbl_ProcesoEmpresa on p.Pk_Id_Proceso equals pe.Fk_Id_Proceso
                                      where pe.Fk_Id_Empresa == pkempresa
                                      select p).ToList();

            ViewBag.Fk_Id_Proceso = new SelectList(db.Tbl_Procesos, "Pk_Id_Proceso", "Descripcion_Proceso", proceso.Fk_Id_Proceso);
            ViewBag.Message       = "Proceso Almacenado";
            return(View("Index", process));
        }