Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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"));
                }
            }
        }
Exemplo n.º 3
0
        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));
        }