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); } } }
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(); } } }
//[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)); }
//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)); }
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); } } }
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)); }