public ActionResult Edit(int?id) { var usuarioActual = ObtenerUsuarioEnSesion(System.Web.HttpContext.Current); if (usuarioActual == null) { ViewBag.mensaje1 = "Debe Registrarse para Ingresar a este Modulo."; return(RedirectToAction("Login", "Home")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Sede sede = db.Tbl_Sede.Find(id); if (sede == null) { return(HttpNotFound()); } List <CentroTrabajo> centros = db.Tbl_Centro_de_Trabajo.Where(d => d.Fk_Id_Sede == sede.Pk_Id_Sede).ToList(); List <Departamento> departamentos = recursosServicios.ObtenerDepartamentos(); ViewBag.nitEmpresa = usuarioActual.NitEmpresa; SedeMunicipio sedeMunipio = sedeServicios.ObtenerSedePorMunicipio(sede.Pk_Id_Sede); ViewBag.Fk_Id_Departamento = new SelectList(departamentos, "Pk_Id_Departamento", "Nombre_Departamento", sedeMunipio.Municipio.Fk_Nombre_Departamento); List <Municipio> municipios = recursosServicios.ObtenetMunicipios(sedeMunipio.Municipio.Fk_Nombre_Departamento); ViewBag.Fk_Id_Municipio = new SelectList(municipios, "Pk_Id_Municipio", "Nombre_Municipio", sedeMunipio.Fk_Id_Municipio); ViewBag.Urbano = sede.Sector.Equals("Urbano") ? true : false; return(View(sede)); }
public FileResult ExportarExcel(int Pk_Id_Sede, int Periodo) { SG_SSTContext entities = new SG_SSTContext(); DataTable dt = new DataTable(string.Concat(nombresede.ObtenerSedePorMunicipio(Pk_Id_Sede).Sede.Nombre_Sede)); dt.Columns.AddRange(new DataColumn[] { new DataColumn("SEDE"), new DataColumn("NOMBRE RECURSO"), new DataColumn("PERIODO ASIGNADO"), new DataColumn("FASE RECURSO"), new DataColumn("TIPO RECURSO") }); var recursos = recursoporsede.ObtenerRecursoSede(Pk_Id_Sede, Periodo); foreach (var recurso in recursos) { dt.Rows.Add( recurso.Sede.Nombre_Sede.ToUpper(), recurso.Recurso.Nombre_Recurso.ToUpper(), recurso.Recurso.Periodo, recurso.Recurso.RecursosFase.FirstOrDefault().Fase.Descripcion_Fase.ToUpper(), recurso.Recurso.RecursosTipoRecursos.FirstOrDefault().TipoRecurso.Descripcion_Tipo_Recurso.ToUpper()); } using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dt); using (MemoryStream stream = new MemoryStream()) { wb.SaveAs(stream); //return File(stream.ToArray(), // "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", // "RecursosAsignados.xlsx"); return(File(stream.ToArray(), "application/vnd.ms-excel", "RecursosAsignados.xlsx")); } } }
public ActionResult Edit([Bind(Include = "Pk_Id_Sede,Nombre_Sede,Direccion_Sede,Sector")] Sede sede, SedeMunicipio sedePorMunicipio, List <CentroTrabajo> centro, int pksede, 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")); } EDInformacionAuditoria edInfoauditoria = new EDInformacionAuditoria() { IdentificacionUsuario = usuarioActual.Documento, NombreUsuario = usuarioActual.NombreUsuario, NitEmpresa = usuarioActual.NitEmpresa, NombreEmpresa = usuarioActual.RazonSocialEmpresa, IpUsuario = ipUsuario }; sede.Nombre_Sede = sede.Nombre_Sede.ToUpper(); sedeServicios = new SedeServicios(db); if (ModelState.IsValid) { using (var Transaction = db.Database.BeginTransaction()) { RegistraLog registraLog = new RegistraLog(); try { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaEmpresa) { SG_SSTContext dbAud = new SG_SSTContext(); Sede sedeAud = dbAud.Tbl_Sede.Find(sede.Pk_Id_Sede); db.Tbl_AuditoriaEmpresaSistema.Add(auditoriaSistema.ObtenerAuditoriaSistemaEmpresa(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Empresa, Enumeraciones.EnumAuditoriaSistema.SubModulos.Datos_generales_de_la_empresa, Enumeraciones.EnumAuditoriaSistema.Opciones.Sedes, sedeAud.ToString())); } /*fin auditoria*/ List <CentroTrabajo> centros = db.Tbl_Centro_de_Trabajo.Where(ct => ct.Sede.Fk_Id_Empresa == usuarioActual.IdEmpresa && ct.Fk_Id_Sede == pksede).ToList(); if (centros != null) { if (centro != null) { var sw = false; string centrosencontrados = ""; foreach (var sct in centros) { for (int i = 0; i < centro.Count; i++) { if (sct.Codigo_Actividad == centro[i].Codigo_Actividad) { centrosencontrados += (centro[i].Codigo_Actividad.ToString() + " , "); sw = true; } } } if (sw != false) { TempData["shortMessage1"] = "Actividad Economica: " + centrosencontrados + " ya fue registrada anteriormente a la sede, el registro no se realizo."; return(RedirectToAction("SedesPorMunicipios")); } } } //else //{ SedeMunicipio sedeMunipio = sedeServicios.ObtenerSedePorMunicipio(sede.Pk_Id_Sede); sede.Fk_Id_Empresa = usuarioActual.IdEmpresa; if (sedeMunipio.Fk_Id_Municipio != sedePorMunicipio.Fk_Id_Municipio) { sedeMunipio.Fk_Id_Municipio = sedePorMunicipio.Fk_Id_Municipio; sedeMunipio.Sede = sede; db.Entry(sedeMunipio).State = EntityState.Modified; List <CentroTrabajo> ActividadEcon = new List <CentroTrabajo>(); if (centro != null) { foreach (var ae in centro) { CentroTrabajo axs = new CentroTrabajo(); axs.Codigo_Actividad = ae.Codigo_Actividad; axs.Descripcion_Actividad = ae.Descripcion_Actividad; axs.Fk_Id_Sede = pksede; ActividadEcon.Add(axs); } } db.Entry(sede).State = EntityState.Modified; db.Tbl_Centro_de_Trabajo.AddRange(ActividadEcon); TempData["shortMessage"] = "Informacion Registrada Correctamente."; } else { List <CentroTrabajo> ActividadEcon = new List <CentroTrabajo>(); sedeMunipio.Fk_Id_Municipio = sedePorMunicipio.Fk_Id_Municipio; sedeMunipio.Sede = sede; if (centro != null) { foreach (var ae in centro) { CentroTrabajo axs = new CentroTrabajo(); axs.Codigo_Actividad = ae.Codigo_Actividad; axs.Descripcion_Actividad = ae.Descripcion_Actividad; axs.Fk_Id_Sede = pksede; ActividadEcon.Add(axs); } } db.Entry(sede).State = EntityState.Modified; db.Tbl_Centro_de_Trabajo.AddRange(ActividadEcon); } db.SaveChanges(); Transaction.Commit(); TempData["shortMessage"] = "Informacion Registrada Correctamente."; // } } catch (Exception ex) { registraLog.RegistrarError(typeof(SedeController), string.Format("Error al realizar la transacción {0}: {1}", DateTime.Now, ex.StackTrace), ex); Transaction.Rollback(); } } return(RedirectToAction("SedesPorMunicipios")); } return(View(sede)); }