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(); } }
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(); } }
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 })); }
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); } } } }
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 })); }
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(); } }
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(); } } }
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); }
public ChildData(tblModulo modulo) : base(modulo.Nombre, modulo.Accion, modulo.Controller, modulo.IdModulo) { }
public ModuloData(tblModulo modulo) : base(modulo.Nombre, string.Empty, string.Empty, modulo.IdModuloPadre) { Modulo = modulo; }