public bool GrabarDocumentacion(Documentacion_Organizacion DocumentacionOrg)
 {
     if (DocumentacionOrg.NombreArchivo_Documentacion != null)
     {
         dbDocumentacion.Tbl_Documentacion_Organizacion.Add(DocumentacionOrg);
         dbDocumentacion.SaveChanges();
         return(true);
     }
     return(false);
 }
        public FileStreamResult Organizacion_DocumentacionPDF(int ID_Documentacion_Org)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Módulo.";
            }
            Documentacion_Organizacion ListOtrasInteracciones = db.Tbl_Documentacion_Organizacion.Find(ID_Documentacion_Org);
            var        path     = rutaRepositorioFile + rutaMOrganizacion + rutaODocumentacion + db.Tbl_TipoModulo_Organizacion.Find(ListOtrasInteracciones.FK_TipoModuloOrganizacion).Descripcion_ModuloOrg + '/' + usuarioActual.NitEmpresa;
            var        file     = ListOtrasInteracciones.NombreArchivo_Documentacion;
            var        fullPath = Path.Combine(path, file);
            FileStream fs       = new FileStream(fullPath, FileMode.Open, FileAccess.Read);

            return(File(fs, "application/pdf"));
        }
        /// <summary>
        /// script para eliminar el archivo seleccionado en Módulo Organizacion-Documentacion
        /// </summary>
        /// <param name="IdArchivo"></param>
        /// <returns></returns>
        public bool Eliminar_DocumentacionArchivo(int IdArchivo)
        {
            try
            {
                Documentacion_Organizacion modDocumentacion = dbDocumentacion.Tbl_Documentacion_Organizacion.Find(IdArchivo);
                dbDocumentacion.Tbl_Documentacion_Organizacion.Remove(modDocumentacion);
                dbDocumentacion.SaveChanges();


                return(true);
            }
            catch (Exception)
            {
                return(false);

                throw;
            }
        }
        public ActionResult EliminarArchivoDocumetacion(int PKdArchivo)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Módulo.";
                return(RedirectToAction("Login", "Home"));
            }
            gs = new DocumentacionServicios();

            Documentacion_Organizacion ListOtrasInteracciones = db.Tbl_Documentacion_Organizacion.Find(PKdArchivo);
            var  path = rutaRepositorioFile + rutaMOrganizacion + rutaODocumentacion + db.Tbl_TipoModulo_Organizacion.Find(ListOtrasInteracciones.FK_TipoModuloOrganizacion).Descripcion_ModuloOrg + '/' + usuarioActual.NitEmpresa;
            bool restpuestaGuardado = gs.Eliminar_DocumentacionArchivo(PKdArchivo);

            path = Path.Combine(path, ListOtrasInteracciones.NombreArchivo_Documentacion);
            if (System.IO.File.Exists(@path))
            {
                try
                {
                    System.IO.File.Delete(@path);
                    ViewBag.Messages2 = "Archivo eliminado correctamente";
                    ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                    return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
                }
                catch (System.IO.IOException e)
                {
                    ViewBag.Messages2 = "No fue  posible eliminar el archivo " + ListOtrasInteracciones.NombreArchivo_Documentacion + "en la ruta " + path;
                    ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                    return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
                }
            }

            ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
            return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
        }
        public ActionResult CargarArchivoOrganizacion(Documentacion_Organizacion Doc_Organizacion, HttpPostedFileBase NombreArchivo_Documentacion, int ID_TipoModulo_Organizacion, object source)
        //public ActionResult CargarArchivoOrganizacion(Documentacion_Organizacion Doc_Organizacion, HttpPostedFileBase NombreArchivo_Documentacion, int ID_TipoModulo_Organizacion, object source)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

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

            Doc_Organizacion.FK_Empresa = usuarioActual.IdEmpresa;
            try
            {
                if (NombreArchivo_Documentacion != null)
                {
                    if (NombreArchivo_Documentacion.ContentLength > 0)
                    {
                        if (Path.GetExtension(NombreArchivo_Documentacion.FileName).ToLower() == ".pdf" || Path.GetExtension(NombreArchivo_Documentacion.FileName).ToLower() == ".xlsx" || Path.GetExtension(NombreArchivo_Documentacion.FileName).ToLower() == ".docx" || Path.GetExtension(NombreArchivo_Documentacion.FileName).ToLower() == ".xls" || Path.GetExtension(NombreArchivo_Documentacion.FileName).ToLower() == ".doc")
                        {
                            path = rutaRepositorioFile + rutaMOrganizacion + rutaODocumentacion + db.Tbl_TipoModulo_Organizacion.Find(ID_TipoModulo_Organizacion).Descripcion_ModuloOrg + '/' + usuarioActual.NitEmpresa;
                            if (!Directory.Exists(path))
                            {
                                System.IO.Directory.CreateDirectory(path);
                            }
                            path = Path.Combine(path, NombreArchivo_Documentacion.FileName);
                            NombreArchivo_Documentacion.SaveAs(path);
                            ViewBag.UploadSuccess = true;
                            Doc_Organizacion.NombreArchivo_Documentacion     = NombreArchivo_Documentacion.FileName;
                            Doc_Organizacion.FK_TipoModuloOrganizacion       = ID_TipoModulo_Organizacion;
                            Doc_Organizacion.FechaModificacion_Documentacion = DateTime.Now;
                        }
                        else
                        {
                            ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                            ViewBag.Messages1 = "Debe cargar documentos tipo PDF, Excel y Word";

                            return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
                        }
                    }

                    gs = new DocumentacionServicios();

                    if (gs.GrabarDocumentacion(Doc_Organizacion) == true)
                    {
                        ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                        ViewBag.Messages2 = "Archivo cargado correctamente";
                        return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
                    }
                    else
                    {
                        ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                        ViewBag.Messages1 = "Solo se permiten cargar documentos con formato PDF";
                        return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
                    }
                }

                else
                {
                    ViewBag.Messages1 = "Debe cargar un archivo";
                    ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                    return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));
                }
            }
            catch (Exception)
            {
                ViewBag.ID_TipoModulo_Organizacion = new SelectList(db.Tbl_TipoModulo_Organizacion, "ID_TipoModulo_Organizacion", "Descripcion_ModuloOrg");
                ViewBag.Messages1 = "Debe cargar un archivo con peso menor a 4 MG!";
                return(View("Index", db.Tbl_Documentacion_Organizacion.ToList()));

                throw;
            }
        }
        public ActionResult DescargaDocumentacion(int idArchivoDocumentacion)
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

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


            string doc = null;

            using (SG_SSTContext context = new SG_SSTContext())
            {
                doc = context.Tbl_Documentacion_Organizacion.Find(idArchivoDocumentacion).NombreArchivo_Documentacion;
            }
            Documentacion_Organizacion ListOtrasInteracciones = db.Tbl_Documentacion_Organizacion.Find(idArchivoDocumentacion);
            var path     = rutaRepositorioFile + rutaMOrganizacion + rutaODocumentacion + db.Tbl_TipoModulo_Organizacion.Find(ListOtrasInteracciones.FK_TipoModuloOrganizacion).Descripcion_ModuloOrg + '/' + usuarioActual.NitEmpresa;
            var file     = doc;
            var fullPath = Path.Combine(path, file);

            byte[]       fileBytes = System.IO.File.ReadAllBytes(fullPath);
            MemoryStream ms        = new MemoryStream(fileBytes, 0, 0, true, true);

            Response.AddHeader("content-disposition", "attachment;filename=" + doc + "");
            Response.Buffer = true;
            Response.Clear();
            Response.OutputStream.Write(ms.GetBuffer(), 0, ms.GetBuffer().Length);
            Response.OutputStream.Flush();
            Response.End();
            if (Path.GetExtension(doc).ToLower() == ".pdf")
            {
                return(new FileStreamResult(Response.OutputStream, "application/pdf"));
            }
            else if (Path.GetExtension(doc).ToLower() == ".png")
            {
                return(new FileStreamResult(Response.OutputStream, "application/png"));
            }
            else if (Path.GetExtension(doc).ToLower() == ".jpg")
            {
                return(new FileStreamResult(Response.OutputStream, "application/jpg"));
            }
            else if (Path.GetExtension(doc).ToLower() == ".doc")
            {
                return(new FileStreamResult(Response.OutputStream, "application/doc"));
            }
            else if (Path.GetExtension(doc).ToLower() == ".docx")
            {
                return(new FileStreamResult(Response.OutputStream, "application/docx"));
            }
            else if (Path.GetExtension(doc).ToLower() == ".ppt")
            {
                return(new FileStreamResult(Response.OutputStream, "application/doc"));
            }
            else if (Path.GetExtension(doc).ToLower() == ".pptx")
            {
                return(new FileStreamResult(Response.OutputStream, "application/docx"));
            }
            else
            {
                return(new FileStreamResult(Response.OutputStream, "application/vnd.ms-excel"));
            }
        }
示例#7
0
 public bool GrabarDocumentacion(Documentacion_Organizacion DocumentacionOrg)
 {
     return(dr.GrabarDocumentacion(DocumentacionOrg));
 }
示例#8
0
        public ActionResult ActaRolPorResponsabilidad_PDF()
        {
            var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current);

            if (usuarioActual == null)
            {
                ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo.";
                return(RedirectToAction("Login", "Home"));
            }
            Empresa empresa = db.Tbl_Empresa
                              .Include(x => x.Roles.Select(j => j.ResponsabilidadesPorRoles))
                              .Include(x => x.Roles.Select(j => j.RendicionDeCuentasPorRoles))
                              .Include(y => y.Usuario.Select(g => g.UsuarioRoles))
                              .Where(r => r.Pk_Id_Empresa == usuarioActual.IdEmpresa).FirstOrDefault();
            ActaRoles actaRol = new ActaRoles();
            Rol       rol1    = empresa.Roles.Where(d => d.Descripcion == ConfigurationManager.AppSettings["rolResponsableSGSST"]).FirstOrDefault();

            actaRol.RolesResponsabilidadResponsable = rol1;
            Rol rol2 = empresa.Roles.Where(d => d.Descripcion == ConfigurationManager.AppSettings["rolRepresentanteLegal"]).FirstOrDefault();

            actaRol.RolesResponsabilidadRepresentante = rol2;
            if (rol1.UsuarioRoles == null || rol2.UsuarioRoles == null)
            {
                List <Rol> rolesPorEmpresa = new List <Rol>();
                rolesPorEmpresa = rolPorResponsabilidadServicio.RolesPorEmpresa(usuarioActual.IdEmpresa);
                RolResponsabilidad rolResponsabilidad = new RolResponsabilidad();
                rolResponsabilidad.RolesResponsabilidad = rolesPorEmpresa;
                List <ObligacionesEmpleadores> obligacionesEmpleadores = new List <ObligacionesEmpleadores>();
                obligacionesEmpleadores = rolPorResponsabilidadServicio.GetObligacionesEmpleadores();
                rolResponsabilidad.ObligacionesEmpleadoresRol = obligacionesEmpleadores;
                List <ObligacionesArl> obligacionesArl = new List <ObligacionesArl>();
                obligacionesArl = rolPorResponsabilidadServicio.GetObligacionesArl();
                rolResponsabilidad.ObligacionesArlRol = obligacionesArl;
                if (rol1.UsuarioRoles == null)
                {
                    ViewBag.NombreRol = "false";
                }
                if (rol2.UsuarioRoles == null)
                {
                    ViewBag.NombreRol = "true";
                }
                if (rol1.UsuarioRoles == null && rol2.UsuarioRoles == null)
                {
                    ViewBag.NombreRol = "";
                }
                ViewBag.NoexisteRol = true;
                return(View("CrearRol", rolResponsabilidad));
            }
            string EncodedRazonSocial   = System.Net.WebUtility.UrlEncode(usuarioActual.RazonSocialEmpresa);
            string EncodedNit           = System.Net.WebUtility.UrlEncode(usuarioActual.NitEmpresa);
            string EncodedNombreInforme = System.Net.WebUtility.UrlEncode("Acta Responsable");
            var    footurl   = "https://alissta.gov.co/Acciones/Footer";
            var    headerurl = "https://alissta.gov.co/Acciones/Header?NombreEmpresa=" + EncodedRazonSocial + "&NitEmpresa=" + EncodedNit + "&NombreInforme=" + EncodedNombreInforme;


            var fileName = "Acta Responsable" + usuarioActual.NitEmpresa + ".pdf";
            //string SwitchNombreEmpresa = usuarioActual.RazonSocialEmpresa;
            //string SwitchNitEmpresa = usuarioActual.NitEmpresa;
            //string SwitchNombreDocumento = "NOMBRAMIENTO DE RESPONSABLE DE SEGURIDAD Y SALUD EN EL TRABAJO - SGSST";
            //var uriFooter = new Uri(Url.Action("Footer", "Rol", null, Request.Url.Scheme));
            //var clean1 = uriFooter.GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped);
            //var uriHeader = new Uri(Url.Action("Header", "Rol", new { NombreEmpresa = SwitchNombreEmpresa, NitEmpresa = SwitchNitEmpresa, NombreInforme = SwitchNombreDocumento }, Request.Url.Scheme));
            //var clean2 = uriHeader.GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped);
            //string cusomtSwitches = string.Format("--footer-line --print-media-type --allow {0} --footer-html {0} --header-line --print-media-type --allow {1} --header-html {1} --header-spacing 5", clean1, clean2);
            //string cusomtSwitches = string.Format("--footer-line --print-media-type --allow {0} --footer-html {0} --header-line --print-media-type --allow {1} --header-html {1} --header-spacing 5",
            //.AbsoluteUri, uriHeader.AbsoluteUri);
            var filePath = Path.Combine(Server.MapPath("~/Content/ArchivosDocumentacion"), fileName);
            Documentacion_Organizacion document = new Documentacion_Organizacion();

            document.FK_Empresa = usuarioActual.IdEmpresa;
            document.NombreArchivo_Documentacion     = fileName;
            document.FK_TipoModuloOrganizacion       = 2;
            document.FechaModificacion_Documentacion = DateTime.Now;
            Documentacion_Organizacion documentDel = db.Tbl_Documentacion_Organizacion.Where(p => p.FK_Empresa == usuarioActual.IdEmpresa && p.FK_TipoModuloOrganizacion == 2).FirstOrDefault();

            if (documentDel != null)
            {
                db.Tbl_Documentacion_Organizacion.Remove(documentDel);
            }
            db.Tbl_Documentacion_Organizacion.Add(document);
            db.SaveChanges();

            string cusomtSwitches = string.Format("--footer-line --print-media-type --allow {0} --footer-html {0} --header-line --print-media-type --allow {1} --header-html {1} --header-spacing 5", footurl, headerurl);

            return(new Rotativa.PartialViewAsPdf("ActaNombramientoRepresentantePDF", actaRol)
            {
                FileName = "Acta Responsable.pdf", CustomSwitches = cusomtSwitches, SaveOnServerPath = filePath
            });
        }