示例#1
0
        public static void RegistarProgramacion(eTipoAccion Accion, long IdProgramacion, long IdModuloProgramacion, string DatosActualizados)
        {
            long IdUser    = long.Parse(Session["UserId"].ToString());
            long IdEmpresa = long.Parse(Session["IdEmpresa"].ToString());

            using (Entities db = new Entities())
            {
                tblModulo          moduloPrincipal = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == 9000000).FirstOrDefault();
                tblModulo          moduloActivo    = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == 9060100).FirstOrDefault();
                string             AccionMessage   = string.Empty;
                string             NombreModulo    = moduloActivo.Nombre;
                tblPMTProgramacion reg             = null;

                switch (Accion)
                {
                case eTipoAccion.AgregarProgramacion:
                    AccionMessage = Resources.AuditoriaResource.AgregarProgramacionMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    reg           = db.tblPMTProgramacion.Where(x => x.IdEmpresa == IdEmpresa && x.IdPMTProgramacion == IdProgramacion).FirstOrDefault();
                    break;

                case eTipoAccion.ActualizarProgramacion:
                    AccionMessage = Resources.AuditoriaResource.ModificarProgramacionMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    reg           = db.tblPMTProgramacion.Where(x => x.IdEmpresa == IdEmpresa && x.IdPMTProgramacion == IdProgramacion).FirstOrDefault();
                    break;

                case eTipoAccion.EliminarProgramacion:
                    AccionMessage = Resources.AuditoriaResource.EliminarProgramacionMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;
                }

                tblUsuario usuario = db.tblUsuario.Where(x => x.IdUsuario == IdUser).FirstOrDefault();

                string _Accion = string.Format(AccionMessage, reg.tblModulo.Nombre);

                tblAuditoria regAuditoria = new tblAuditoria
                {
                    Accion           = _Accion,
                    DireccionIP      = Request.UserHostAddress,
                    FechaRegistro    = DateTime.UtcNow,
                    IdDocumento      = 0,
                    IdEmpresa        = IdEmpresa,
                    IdTipoDocumento  = 0,
                    IdUsuario        = IdUser,
                    Mensaje          = string.Empty,
                    Negocios         = true,
                    DatosModificados = DatosActualizados
                };

                db.tblAuditoria.Add(regAuditoria);
                usuario.FechaUltimaConexion = DateTime.UtcNow;
                usuario.EstadoUsuario       = 2;
                db.SaveChanges();
            }
        }
示例#2
0
        public static void ProcesarEvento(eTipoAccion Accion, long IdDispositivo, long idSubModulo, string nombre, string DatosActualizados)
        {
            long IdUser    = long.Parse(Session["UserId"].ToString());
            long IdEmpresa = long.Parse(Session["IdEmpresa"].ToString());

            using (Entities db = new Entities())
            {
                string         AccionMessage = string.Empty;
                string         NombreModulo  = Resources.PMIResource.captionModulo;
                tblModulo      regModulo     = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == IdEmpresa && x.IdModulo == idSubModulo);
                tblDispositivo regDisp       = db.tblDispositivo.FirstOrDefault(x => x.IdDispositivo == IdDispositivo);

                switch (Accion)
                {
                case eTipoAccion.ActivarEvento:
                    AccionMessage = string.Format(Resources.AuditoriaResource.ActivarEvento, regModulo.Nombre);
                    break;

                case eTipoAccion.EliminarEvento:
                    AccionMessage = string.Format(Resources.AuditoriaResource.EliminarEvento, regDisp.nombre, regModulo.Nombre);
                    break;
                }

                tblUsuario usuario = db.tblUsuario.Where(x => x.IdUsuario == IdUser).FirstOrDefault();

                string _Accion = AccionMessage;

                tblAuditoria regAuditoria = new tblAuditoria
                {
                    Accion           = _Accion,
                    DireccionIP      = Request.UserHostAddress,
                    FechaRegistro    = DateTime.UtcNow,
                    IdDocumento      = 0,
                    IdEmpresa        = IdEmpresa,
                    IdTipoDocumento  = 0,
                    IdUsuario        = IdUser,
                    Mensaje          = string.Empty,
                    Negocios         = true,
                    DatosModificados = DatosActualizados
                };

                db.tblAuditoria.Add(regAuditoria);
                usuario.FechaUltimaConexion = DateTime.UtcNow;
                usuario.EstadoUsuario       = 2;
                db.SaveChanges();
            }
        }
示例#3
0
        public JsonResult ActualizarModuloUsuario(long idEmpresa, long idModulo, long idUsuario, bool Checked)
        {
            string result  = string.Empty;
            bool   success = false;

            using (Entities db = new Entities())
            {
                tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario
                                                  .FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == idModulo && x.IdUsuario == idUsuario);

                if (moduloUsuario == null)
                {
                    moduloUsuario = new tblModulo_Usuario
                    {
                        Eliminar  = false,
                        IdEmpresa = idEmpresa,
                        IdModulo  = idModulo,
                        IdUsuario = idUsuario,
                    };

                    db.tblModulo_Usuario.Add(moduloUsuario);
                }

                moduloUsuario.Actualizar = Checked;
                tblModulo modulo = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == idModulo);

                try
                {
                    db.SaveChanges();
                    result  = string.Empty;
                    success = false;
                }
                catch (Exception ex)
                {
                    result  = ex.Message;
                    success = true;
                }
            }
            return(Json(new
            {
                success,
                result
            }));
        }
示例#4
0
        private void ProcesarModuloPadre(long idEmpresa, long idModulo, long idUsuario, bool Selected, bool Actualiza, bool Elimina)
        {
            using (Entities db = new Entities())
            {
                tblModulo _padre = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == idModulo);

                if (_padre != null)
                {
                    tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario
                                                      .FirstOrDefault(x => x.IdEmpresa == idEmpresa && x.IdModulo == _padre.IdModulo && x.IdUsuario == idUsuario);

                    if (Selected)
                    {
                        if (moduloUsuario == null)
                        {
                            moduloUsuario = new tblModulo_Usuario
                            {
                                IdEmpresa = idEmpresa,
                                IdModulo  = _padre.IdModulo,
                                IdUsuario = idUsuario,
                            };

                            db.tblModulo_Usuario.Add(moduloUsuario);
                        }

                        moduloUsuario.Actualizar = Actualiza;
                        moduloUsuario.Eliminar   = Elimina;
                    }
                    else
                    {
                        if (moduloUsuario != null)
                        {
                            db.tblModulo_Usuario.Remove(moduloUsuario);
                        }
                    }

                    db.SaveChanges();
                    if (_padre.IdModuloPadre > 0)
                    {
                        ProcesarModuloPadre(idEmpresa, _padre.IdModuloPadre, idUsuario, Selected, Actualiza, Elimina);
                    }
                }
            }
        }
示例#5
0
        public JsonResult SeleccionarModuloUsuario(string idEmpresa, string idModulo, string idUsuario, string Checked)
        {
            string result  = string.Empty;
            bool   success = false;

            long IdEmpresa = long.Parse(idEmpresa);
            long IdModulo  = long.Parse(idModulo);
            long IdUsuario = long.Parse(idUsuario);
            bool _Checked  = bool.Parse(Checked);

            using (Entities db = new Entities())
            {
                tblModulo_Usuario moduloUsuario = db.tblModulo_Usuario
                                                  .FirstOrDefault(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModulo && x.IdUsuario == IdUsuario);

                if (_Checked)
                {
                    if (moduloUsuario == null)
                    {
                        moduloUsuario = new tblModulo_Usuario
                        {
                            Actualizar = false,
                            Eliminar   = false,
                            IdEmpresa  = IdEmpresa,
                            IdModulo   = IdModulo,
                            IdUsuario  = IdUsuario,
                        };

                        db.tblModulo_Usuario.Add(moduloUsuario);
                    }
                }
                else
                {
                    if (moduloUsuario != null)
                    {
                        db.tblModulo_Usuario.Remove(moduloUsuario);
                    }
                }

                tblModulo modulo = db.tblModulo.FirstOrDefault(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModulo);

                try
                {
                    db.SaveChanges();
                    if (modulo.IdModuloPadre > 0)
                    {
                        ProcesarModuloPadre(IdEmpresa, modulo.IdModuloPadre, IdUsuario, _Checked, false, false);
                    }

                    ProcesarModulosHijos(IdEmpresa, modulo.IdModulo, IdUsuario, _Checked, false, false);
                    result  = string.Empty;
                    success = true;
                }
                catch (Exception ex)
                {
                    result  = ex.Message;
                    success = false;
                }
            }
            return(Json(new
            {
                success,
                result
            }));
        }
示例#6
0
        public static void RegistarAccion(eTipoAccion Accion)
        {
            long   IdUser            = long.Parse(Session["UserId"].ToString());
            long   IdEmpresa         = long.Parse(Session["IdEmpresa"].ToString());
            long   IdDocumento       = (Session["IdDocumento"] != null ? long.Parse(Session["IdDocumento"].ToString()) : 0);
            long   IdTipoDocumento   = (Session["IdTipoDocumento"] != null ? long.Parse(Session["IdTipoDocumento"].ToString()) : 0);
            long   IdModuloActivo    = (Session["modId"] != null ? long.Parse(Session["modId"].ToString()) : 0);
            long   IdModuloPrincipal = IdTipoDocumento * 1000000;
            int    IdClaseDocumento  = (Session["IdClaseDocumento"] != null ? int.Parse(Session["IdClaseDocumento"].ToString()) : 0);
            string NombreAnexo       = (Session["Anexo"] != null ? Session["Anexo"].ToString() : string.Empty);

            using (Entities db = new Entities())
            {
                string    AccionMessage   = string.Empty;
                string    NombreModulo    = string.Empty;
                tblModulo moduloPrincipal = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModuloPrincipal).FirstOrDefault();
                tblModulo moduloActivo    = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModuloActivo).FirstOrDefault();

                switch (Accion)
                {
                case eTipoAccion.AbrirDocumento:
                    AccionMessage = Resources.AuditoriaResource.AbrirDocumentoMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.AbrirPDFMovil:
                    AccionMessage = Resources.AuditoriaResource.AbrirPDFMovilMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.AbrirPDFWeb:
                    AccionMessage = Resources.AuditoriaResource.AbrirPDFWebMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.AccesoModuloMovil:
                    AccionMessage = Resources.AuditoriaResource.AccesoModuloMovilMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;

                case eTipoAccion.AccesoModuloWeb:
                    AccionMessage = Resources.AuditoriaResource.AccesoModuloWebMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;

                case eTipoAccion.Actualizar:
                    AccionMessage = Resources.AuditoriaResource.ActualizarAccionMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;

                case eTipoAccion.AprobarDocumento:
                    AccionMessage = Resources.AuditoriaResource.AprobarDocumentoMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.CertificarDocumento:
                    AccionMessage = Resources.AuditoriaResource.CertificarDocumentoMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.ConsultarCambios:
                    AccionMessage = Resources.AuditoriaResource.ConsultarCambiosMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.Eliminar:
                    AccionMessage = Resources.AuditoriaResource.EliminarAccionMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;

                case eTipoAccion.GenearCopiaDocumento:
                    AccionMessage = Resources.AuditoriaResource.GenerarCopiaDocumentoMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.GenerarPDF:
                    AccionMessage = Resources.AuditoriaResource.GenerarPDFMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.GenerarVersion:
                    AccionMessage = Resources.AuditoriaResource.GenerarVersionMessage;
                    NombreModulo  = moduloPrincipal.Nombre;
                    break;

                case eTipoAccion.Mostrar:
                    AccionMessage = Resources.AuditoriaResource.MostrarAccionMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;

                case eTipoAccion.MostrarIniciativa:
                    AccionMessage = Resources.AuditoriaResource.MostrarIniciativaMessage;
                    NombreModulo  = moduloActivo.Nombre;
                    break;
                }

                tblUsuario   usuario   = db.tblUsuario.Where(x => x.IdUsuario == IdUser).FirstOrDefault();
                tblDocumento Documento = db.tblDocumento.Where(x => x.IdEmpresa == IdEmpresa && x.IdDocumento == IdDocumento && x.IdTipoDocumento == IdTipoDocumento).FirstOrDefault();

                string docVersion    = string.Empty;
                string NroDocumento  = string.Empty;
                string VersionActual = (Documento != null ? Documento.VersionOriginal.ToString() : string.Empty);

                if (Documento != null)
                {
                    docVersion   = (Documento.VersionOriginal > 0 ? string.Format("{0}.{1}", Documento.VersionOriginal, Documento.NroVersion) : Documento.NroVersion.ToString());
                    NroDocumento = Documento.NroDocumento.ToString();
                }

                string _Accion = string.Format(AccionMessage, NombreModulo, NroDocumento, docVersion, NombreAnexo, VersionActual);

                tblAuditoria regAuditoria = new tblAuditoria
                {
                    Accion          = _Accion,
                    DireccionIP     = Request.UserHostAddress,
                    FechaRegistro   = DateTime.UtcNow,
                    IdDocumento     = IdDocumento,
                    IdEmpresa       = IdEmpresa,
                    IdTipoDocumento = IdTipoDocumento,
                    IdUsuario       = IdUser,
                    Mensaje         = string.Empty,
                    Negocios        = (IdClaseDocumento == 1),
                };

                db.tblAuditoria.Add(regAuditoria);
                usuario.FechaUltimaConexion = DateTime.UtcNow;
                usuario.EstadoUsuario       = 2;
                db.SaveChanges();
            }
        }
示例#7
0
        public static void RegistarOperacionAnexoModulo(string Operacion, string nombre, string viejo, bool Web = true)
        {
            string AccionMessage = string.Empty;
            string NombreModulo  = string.Empty;

            long IdUser            = long.Parse(Session["UserId"].ToString());
            long IdEmpresa         = long.Parse(Session["IdEmpresa"].ToString());
            long IdDocumento       = (Session["IdDocumento"] != null ? long.Parse(Session["IdDocumento"].ToString()) : 0);
            long IdTipoDocumento   = (Session["IdTipoDocumento"] != null ? long.Parse(Session["IdTipoDocumento"].ToString()) : 0);
            long IdModuloActivo    = (Session["modId"] != null ? long.Parse(Session["modId"].ToString()) : 0);
            long IdModuloPrincipal = IdTipoDocumento * 1000000;
            int  IdClaseDocumento  = (Session["IdClaseDocumento"] != null ? int.Parse(Session["IdClaseDocumento"].ToString()) : 0);
            long IdModulo          = long.Parse(Session["IdModulo"].ToString());

            NombreModulo = Metodos.GetNombreModulo(IdModulo);

            switch (Operacion)
            {
            case "FolderCreated":
                AccionMessage = Resources.AuditoriaResource.AnexoAgregarCarpetaModuloMessage;
                break;

            case "CurrentFolderChanged":
                break;

            case "FileDownloading":
                AccionMessage = Resources.AuditoriaResource.AnexoDescargarModuloWebMessage;
                break;

            case "FileUploaded":
                AccionMessage = Resources.AuditoriaResource.AnexoCargarModuloWebMessage;
                break;

            case "ItemCopied":
                AccionMessage = Resources.AuditoriaResource.AnexoCopiarItemModuloMessage;
                break;

            case "ItemDeleted":
                AccionMessage = Resources.AuditoriaResource.AnexoEliminarItemModuloMessage;
                break;

            case "ItemMoved":
                AccionMessage = Resources.AuditoriaResource.AnexoMoverItemModuloMessage;
                break;

            case "ItemRenamed":
                AccionMessage = Resources.AuditoriaResource.AnexoRenombrarItemModuloMessage;
                break;
            }

            using (Entities db = new Entities())
            {
                if (!string.IsNullOrEmpty(AccionMessage))
                {
                    tblModulo moduloPrincipal = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModuloPrincipal).FirstOrDefault();
                    tblModulo moduloActivo    = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModuloActivo).FirstOrDefault();

                    tblUsuario   usuario   = db.tblUsuario.Where(x => x.IdUsuario == IdUser).FirstOrDefault();
                    tblDocumento Documento = db.tblDocumento.Where(x => x.IdEmpresa == IdEmpresa && x.IdDocumento == IdDocumento && x.IdTipoDocumento == IdTipoDocumento).FirstOrDefault();

                    string docVersion    = string.Empty;
                    string NroDocumento  = string.Empty;
                    string VersionActual = (Documento != null ? Documento.VersionOriginal.ToString() : string.Empty);

                    if (Documento != null)
                    {
                        docVersion   = (Documento.VersionOriginal > 0 ? string.Format("{0}.{1}", Documento.VersionOriginal, Documento.NroVersion) : Documento.NroVersion.ToString());
                        NroDocumento = Documento.NroDocumento.ToString();
                    }

                    string _Accion = string.Format(AccionMessage, NombreModulo, NroDocumento, docVersion, nombre, viejo);

                    tblAuditoria regAuditoria = new tblAuditoria
                    {
                        Accion          = _Accion,
                        DireccionIP     = Request.UserHostAddress,
                        FechaRegistro   = DateTime.UtcNow,
                        IdDocumento     = IdDocumento,
                        IdEmpresa       = IdEmpresa,
                        IdTipoDocumento = IdTipoDocumento,
                        IdUsuario       = IdUser,
                        Mensaje         = string.Empty,
                        Negocios        = (IdClaseDocumento == 1),
                    };

                    db.tblAuditoria.Add(regAuditoria);
                    usuario.FechaUltimaConexion = DateTime.UtcNow;
                    usuario.EstadoUsuario       = 2;
                    db.SaveChanges();
                }
            }
        }
示例#8
0
        public string GenerarPDF_Documento(bool Mostrar)
        {
            _ServerPath        = _Server.MapPath(".").Replace("\\Documentos", string.Empty);
            _tempFilePath      = string.Format("{0}\\PDFDocs\\tempPDF", _ServerPath);
            _ImagenApliredPath = string.Format("{0}\\LogosEmpresa\\LogoAplired.png", _ServerPath);

            try
            {
                if (!Directory.Exists(_tempFilePath))
                {
                    Directory.CreateDirectory(_tempFilePath);
                }

                long           IdDocumento     = long.Parse(Session["IdDocumento"].ToString());
                long           IdEmpresa       = long.Parse(Session["IdEmpresa"].ToString());
                long           IdUsuario       = long.Parse(Session["UserId"].ToString());
                long           IdTipoDocumento = long.Parse(Session["IdTipoDocumento"].ToString());
                eSystemModules Modulo          = (eSystemModules)IdTipoDocumento;
                string         TipoDocumento   = Modulo.ToString();
                string         NombreModulo    = string.Empty;

                if (GenerarArchivosTemporales())
                {
                    List <PdfReader> reader = new List <PdfReader>();
                    PdfImportedPage  page;
                    int rotation;
                    int i = 0;
                    int n = 0;
                    _TableOfContent  = new List <objContenido>();
                    _ActualPageWidth = PageSize.LETTER.Width;

                    using (Entities db = new Entities())
                    {
                        tblDocumento dataDocumento = (from d in db.tblDocumento
                                                      where d.IdEmpresa == IdEmpresa &&
                                                      d.IdDocumento == IdDocumento &&
                                                      d.IdTipoDocumento == IdTipoDocumento
                                                      select d).FirstOrDefault();

                        eEstadoDocumento EstadoDocumento = (eEstadoDocumento)dataDocumento.IdEstadoDocumento;

                        //string _docPassowrd = string.Format("BCMWEB.{0}.{1}", (dataDocumento.Negocios ? "N" : "T"), IdEmpresa.ToString("000"));
                        //string _ownerPassowrd = string.Format("{0}.{1}.{2}.BCMWEB", TipoDocumento, (dataDocumento.Negocios ? "N" : "T"), IdEmpresa.ToString("000"));
                        string _CodigoInforme = string.Format("{0}_{1}_{2}_{3}_{4}.{5}", TipoDocumento, IdEmpresa.ToString(), dataDocumento.NroDocumento.ToString("#000"), (EstadoDocumento == eEstadoDocumento.Certificado ? dataDocumento.FechaEstadoDocumento.ToString("MM-yyyy") : DateTime.Now.ToString("MM-yyyy")), dataDocumento.VersionOriginal, dataDocumento.NroVersion);
                        _FileName  = string.Format("{0}.pdf", _CodigoInforme.Replace("-", "_"));
                        _pathFile  = String.Format("{0}\\PDFDocs\\{1}", _ServerPath, _FileName);
                        _strDocURL = String.Format("{0}/PDFDocs/{1}", _AppUrl, _FileName);
                        string _LogoEmpresaPath = string.Format("{0}{1}", _ServerPath, dataDocumento.tblEmpresa.LogoURL.Replace("/", "\\").Replace("~", ""));

                        _ImagenEmpresa           = Image.GetInstance(_LogoEmpresaPath);
                        _ImagenEmpresa.Alignment = Element.ALIGN_CENTER;

                        if (File.Exists(_pathFile))
                        {
                            File.Delete(_pathFile);
                        }

                        string _pattern = string.Format("tmp{0}_{1}???_{2}*.pdf",
                                                        TipoDocumento,
                                                        IdEmpresa.ToString("000"),
                                                        dataDocumento.IdDocumento.ToString("000"));

                        List <string> _pdfFiles = Directory.GetFiles(_tempFilePath, _pattern,
                                                                     SearchOption.AllDirectories).OrderBy(q => q).ToList();

                        _Documento          = new Document();
                        _pdfWrite           = PdfWriter.GetInstance(_Documento, new FileStream(_pathFile, FileMode.Create));
                        _pdfWrite.PageEvent = _PDF_Events;
                        //_pdfWrite.SetEncryption(
                        //      System.Text.Encoding.UTF8.GetBytes(_docPassowrd)
                        //    , System.Text.Encoding.UTF8.GetBytes(_ownerPassowrd)
                        //    , PdfWriter.AllowPrinting
                        //    , PdfWriter.ENCRYPTION_AES_256);

                        string[] docKeywords = new string[]
                        {
                            _FileName,
                            dataDocumento.tblEmpresa.NombreComercial,
                            TipoDocumento,
                        };

                        _Documento.Open();
                        _Documento.AddAuthor("www.bcmWeb.net");
                        _Documento.AddCreator("www.bcmweb.net");
                        _Documento.AddKeywords(string.Join(",", docKeywords));

                        int _PaginaInicioCapitulo = 1;
                        foreach (string _fileName in _pdfFiles)
                        {
                            List <string> _fileSplit = _fileName.Split('_').ToList();
                            long          _IdModulo  = long.Parse(_fileSplit.Last().Split('.').First());

                            tblModulo dataModulo = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == _IdModulo).FirstOrDefault();

                            _TableOfContent.Add(new objContenido
                            {
                                Capitulo = dataModulo.Nombre,
                                Indent   = false,
                                Page     = _PaginaInicioCapitulo
                            });

                            reader.Add(new PdfReader(_fileName));
                            i = 0;
                            n = reader[reader.Count - 1].NumberOfPages;
                            while (i < n)
                            {
                                i++;
                                _Documento.SetPageSize(reader[reader.Count - 1].GetPageSizeWithRotation(i));
                                _Documento.NewPage();
                                page = _pdfWrite.GetImportedPage(reader[reader.Count - 1], i);
                                PdfContentByte cb = _pdfWrite.DirectContent;
                                rotation = reader[reader.Count - 1].GetPageRotation(i);
                                if (rotation == 90 || rotation == 270)
                                {
                                    cb.AddTemplate(page, 0, -1.0F, 1.0F, 0, 0, reader[reader.Count - 1].GetPageSizeWithRotation(i).Height);
                                }
                                else
                                {
                                    cb.AddTemplate(page, 1.0F, 0, 0, 1.0F, 0, 0);
                                }
                            }
                            _ActualPageWidth       = PageSize.LETTER.Width;
                            _PaginaInicioCapitulo += n;
                        }
                        long IdModuloPadre = IdTipoDocumento * 1000000;
                        NombreModulo = db.tblModulo.Where(x => x.IdEmpresa == IdEmpresa && x.IdModulo == IdModuloPadre).FirstOrDefault().Nombre;

                        GenerarIndice(NombreModulo);
                        _Documento.Close();
                        foreach (PdfReader _reader in reader)
                        {
                            _reader.Close();
                            _reader.Dispose();
                        }

                        if (Modulo == eSystemModules.PMI)
                        {
                            MoverDocumentosEscenarios(dataDocumento.Negocios, _CodigoInforme);
                        }

                        _pdfFiles = Directory.GetFiles(_tempFilePath, _pattern,
                                                       SearchOption.AllDirectories).OrderBy(q => q).ToList();

                        foreach (string _fileName in _pdfFiles)
                        {
                            File.Delete(_fileName);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //_Documento.Close();
                throw ex;
            }
            return(_strDocURL);
        }
示例#9
0
 public ChildData(tblModulo modulo)
     : base(modulo.Nombre, modulo.Accion, modulo.Controller, modulo.IdModulo)
 {
 }
示例#10
0
 public ModuloData(tblModulo modulo)
     : base(modulo.Nombre, string.Empty, string.Empty, modulo.IdModuloPadre)
 {
     Modulo = modulo;
 }