Exemple #1
0
        public ActionResult nuevo()
        {
            ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());

            string mpath = "/sqlbuilder/entities/entity";

            SortedDictionary <string, string> entities = new SortedDictionary <string, string>();

            XmlDocument xmlDoc = openSQLConfig();

            foreach (XmlNode entity in xmlDoc.SelectNodes(mpath))
            {
                string name = entity.Attributes.GetNamedItem("name").Value;
                System.Text.StringBuilder relationsSB = new System.Text.StringBuilder();
                foreach (XmlNode relation in entity.SelectNodes(string.Format("/sqlbuilder/entities/entity[@name='{0}']/relations/relation", name)))
                {
                    string relation_name = relation.Attributes.GetNamedItem("target").Value.Trim();
                    relationsSB.AppendFormat((relationsSB.Length > 0 ? ",{0}" : "{0}"), relation_name);
                }

                entities.Add(name, relationsSB.ToString());
            }

            ViewData["entities"] = entities;
            //ViewData["operators"] = getOperators(xmlDoc);
            //ViewData["operators_json"] = getOperatorsJson(xmlDoc);
            ViewData["attributes_types"] = getAttributeTypes(xmlDoc);

            closeXml();
            xmlDoc = null;
            System.GC.Collect();
            return(View());
        }
Exemple #2
0
        public ActionResult listar(string result_message, string result_type)
        {
            ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());
            List <object> res = DaoLib.reporte_obtener_html_builded();

            ViewData["reportes"] = res;
            if (!String.IsNullOrEmpty(result_type))
            {
                ViewData["result_type"]    = result_type;
                ViewData["result_message"] = result_message;
            }
            return(View());
        }
Exemple #3
0
        public ActionResult Index()
        {
            Session["grupos"] = null;

            if (Session["logged"] == null)
            {
                return(this.RedirectToAction("ShowForm", "Auth"));
            }

            ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());
            ViewData["reportes"]          = DaoLib.reporte_lista();

            return(View());
        }
Exemple #4
0
        public ActionResult borrar(string id)
        {
            var datos   = DaoLib.datos_del_usuario(Session["usuario"].ToString());
            var destino = (datos[0] as Dictionary <string, string>)["DESTINO"];

            int pbpip_id = Convert.ToInt32(id);
            var pbip     = DaoLib.pbip_obtener(pbpip_id) as Dictionary <string, string>;

            if (pbip["DESTINO"] != destino)
            {
                return(this.RedirectToAction("Index", "PBIP", new { msg = "cost" }));
            }

            DaoLib.pbip_eliminar(pbpip_id);
            return(this.RedirectToAction("Index", "PBIP", new { msg = "del" }));
        }
Exemple #5
0
        public ActionResult eliminar(string id)
        {
            ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());

            List <object> res = DaoLib.reporte_es_mio(Convert.ToInt32(id));

            if (res.Count < 1)
            {
                //ViewData["deleted"] = "Usted no tiene permisos para eliminar este reporte.";
                return(this.RedirectToAction("listar", "Reporte", new { result_message = "Usted no tiene permisos para eliminar este reporte.", result_type = "err" }));
            }

            DaoLib.reporte_eliminar(Convert.ToInt32(id));
            ViewData["deleted"] = "El reporte fue eliminado satisfactoriamente.";
            return(this.RedirectToAction("listar", "Reporte", new { result_message = "El reporte fue eliminado satisfactoriamente.", result_type = "success" }));
        }
Exemple #6
0
        //
        // GET: /Home/
        public ActionResult Index()
        {
            if (Session["logged"] == null || int.Parse(Session["logged"].ToString()) == 0)
            {
                return(this.RedirectToAction("ShowForm", "Auth"));
            }

            Session["grupos"] = DaoLib.grupos_del_usuario(int.Parse(Session["usuario"].ToString()));
            if ((Session["grupos"] as List <object>).Count == 0)
            {
                TempData["error"] = "Sin grupos.<br/>Debe pedir el alta en el sistema";
                return(RedirectToAction("Login", "Auth"));
            }

            var datos = DaoLib.datos_del_usuario(Session["usuario"].ToString());

            ViewData["datos_del_usuario"] = datos;

            //HACK: Hasta que ricardo actualice
            if (ConfigurationManager.AppSettings["validate_access_level"] == "false")
            {
                (datos[0] as Dictionary <string, string>)["NIVACC"] = "6";
            }

            //Si es 1 (!=6 && !=9): solo reportes
            if ((datos[0] as Dictionary <string, string>)["NIVACC"] != "6" && (datos[0] as Dictionary <string, string>)["NIVACC"] != "9")
            {
                return(RedirectToAction("Index", "Reporte"));
            }

            //Debe profilear?
            string[] profile_users = ConfigurationManager.AppSettings["profile_users"].Split(',');
            Session["should_profile"] = profile_users.Contains(Session["usuario"].ToString()) ? "yes" : null;

            int grp = int.Parse(((Session["grupos"] as List <object>)[0] as Dictionary <string, string>)["GRUPO"]);

            Session["grupo"] = grp;
            Session["zonas"] = DaoLib.zonas_del_grupo(grp);

            string id = ((Session["zonas"] as List <object>)[0] as Dictionary <string, string>)["ID"];

            Session["punto"] = id;

            recalcular_barcos_para_punto(id);

            return(View());
        }
Exemple #7
0
        public ActionResult editar(string id)
        {
            ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());
            int ireporte_id      = Convert.ToInt32(id);
            var reporte          = DaoLib.reporte_obtener(ireporte_id) as Dictionary <string, string>;
            var reporte_metadata = DaoLib.reporte_metadata(ireporte_id);


            ViewData["editing"]          = true;
            ViewData["in_role"]          = ((reporte["CREATED_BY"] == null ? DaoLib.userid.ToString() : reporte["CREATED_BY"]) == DaoLib.userid.ToString()) ? "1" : "0";
            ViewData["id"]               = id;
            ViewData["reporte"]          = reporte;
            ViewData["reporte_metadata"] = reporte_metadata;
            Response.AddHeader("X-XSS-Protection", "0");

            string mpath = "/sqlbuilder/entities/entity";
            SortedDictionary <string, string> entities       = new SortedDictionary <string, string>();
            Dictionary <string, string>       entities_by_id = new Dictionary <string, string>();
            XmlDocument xmlDoc = openSQLConfig();

            foreach (XmlNode entity in xmlDoc.SelectNodes(mpath))
            {
                string name = entity.Attributes.GetNamedItem("name").Value;
                entities_by_id.Add(entity.Attributes.GetNamedItem("id").Value, name);
                System.Text.StringBuilder relationsSB = new System.Text.StringBuilder();
                foreach (XmlNode relation in entity.SelectNodes(string.Format("/sqlbuilder/entities/entity[@name='{0}']/relations/relation", name)))
                {
                    string relation_name = relation.Attributes.GetNamedItem("target").Value.Trim();
                    relationsSB.AppendFormat((relationsSB.Length > 0 ? ",{0}" : "{0}"), relation_name);
                }

                entities.Add(name, relationsSB.ToString());
            }

            ViewData["entities"]       = entities;
            ViewData["entities_by_id"] = entities_by_id;

            ViewData["attributes_types"] = getAttributeTypes(xmlDoc);

            closeXml();
            xmlDoc = null;
            System.GC.Collect();


            return(View("nuevo"));
        }
Exemple #8
0
        public ActionResult Index(string msg)
        {
            Session["grupos"] = null;

            if (Session["logged"] == null || int.Parse(Session["logged"].ToString()) == 0)
            {
                if (Request.UrlReferrer == null)
                {
                    Session["toreports"] = "true";
                }

                return(this.RedirectToAction("ShowForm", "Auth"));
            }

            ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());

            if (!String.IsNullOrEmpty(msg))
            {
                string message = "";
                msg = msg.ToUpper();
                if (msg == "DEL")
                {
                    message = "PBIP borrado satisfactoriamente!";
                }
                if (msg == "ADD")
                {
                    message = "PBIP creado satisfactoriamente!";
                }
                if (msg == "MOD")
                {
                    message = "PBIP modificado satisfactoriamente!";
                }
                if (msg == "COST")
                {
                    message = "No se puede borrar un PBIP creado por otra costera.";
                }

                if (message != "")
                {
                    ViewData["result_message"] = message;
                    ViewData["result_type"]    = msg == "COST" ? "err" : "success";
                }
            }

            return(View());
        }
Exemple #9
0
        //
        // GET: /PBIP/
        // functions
        public ActionResult modificar(string id)
        {
            var datos   = DaoLib.datos_del_usuario(Session["usuario"].ToString());
            var destino = (datos[0] as Dictionary <string, string>)["DESTINO"];

            int pbpip_id = Convert.ToInt32(id);

            var pbip = DaoLib.pbip_obtener(pbpip_id) as Dictionary <string, string>;

            ViewData["pbip"] = pbip;

            if (pbip["DESTINO"] != destino)
            {
                throw new Exception("No puede editar un PBIP creado por otra costera.");
            }

            ViewData["pbip_params"] = DaoLib.pbip_obtener_params(pbpip_id);
            ViewData["id"]          = id;

            return(View("nuevo"));
        }
Exemple #10
0
        private Dictionary <string, string> isValidEdition(int etapa_id)
        {
            var etapa = DaoLib.traer_etapa_viaje(etapa_id) as Dictionary <string, string>;

            //Super user?
            string[] power_users = ConfigurationManager.AppSettings["power_users"].Split(',');
            if (power_users.Contains(Session["usuario"].ToString()))
            {
                return(etapa);
            }

            //CERATED_BY de la etapa es de un usuario con el mismo destino mio?
            var datos   = DaoLib.datos_del_usuario(Session["usuario"].ToString());
            var destino = (datos[0] as Dictionary <string, string>)["DESTINO"];

            if (etapa["DESTINO"] == destino)
            {
                return(etapa);
            }

            return(null);
        }
Exemple #11
0
        public ActionResult Login2()
        {
            if (TempData.ContainsKey("error"))
            {
                ViewData["error"] = TempData["error"];
                return(View("ShowForm"));
            }

            var usr  = Request.Form["username"];
            var pass = Request.Form["password"];

            //numerico?
            int dummy = 0;

            if (int.TryParse(Request.Form["username"], out dummy) == false)
            {
                usr = "******";
            }

            //Hack: no pass? te pongo uno cualquiera
            if (String.IsNullOrWhiteSpace(pass))
            {
                pass = "******";
            }

            //  Validar usuario
            //-  200:  usr no existe                       [USUARIO NO EXISTE]
            //-  100:  pass invalido                       [INVALID PASS]

            //-  0:  usuario ok / destino ok / fecha ok    [TODO OK]
            //-  1:  usuario ok / destino no               [DESTINO DISTINTO]
            //-  2:  usuario ok / destino ok / fecha no    [CUENTA VENCIDA]
            //-  4:  usuario ok / destino ok / fecha ok    [MISMO USR/PASS]

            int result = DaoLib.loguser2(usr, pass);

            //[TODO OK]
            if (result == 0)
            {
                var datos  = DaoLib.datos_del_usuario(Request.Form["username"]);
                var acceso = (datos[0] as Dictionary <string, string>)["NIVACC"];

                if (String.IsNullOrWhiteSpace(acceso))
                {
                    acceso = "1";
                }

                //Marcar sesion logeado
                Session["logged"]  = 1;
                Session["usuario"] = Request.Form["username"];
                Session["acceso"]  = acceso;

                //Nuevo
                Session["barcos_data"] = BarcosDataView.EN_ZONA;

                DaoLib.login_usuario("dummy");

                return(Redirect(Url.Content("~/")));
            }

            //[USUARIO NO EXISTE]
            if (result == 200)
            {
                ViewData["error"] = "El usuario no existe.<br/>Solicite acceso al sistema o nuevo usuario a través de la intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[INVALID USR/PASS]
            if (result == 100)
            {
                ViewData["error"] = "La contraseña es incorrecta";
                return(View("ShowForm"));
            }

            //[DESTINO DISTINTO]]
            if (result == 1)
            {
                ViewData["error"] = "Cambio de destino.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[CUENTA VENCIDA]
            if (result == 2)
            {
                ViewData["error"] = "Cuenta vencida.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            // 4: [MISMO USR/PASS]
            ViewData["ndoc"] = usr;
            return(View("SelectNewPass"));
        }
Exemple #12
0
 public ActionResult verEtapas(int id)
 {
     ViewData["datos_del_usuario"] = DaoLib.datos_del_usuario(Session["usuario"].ToString());
     ViewData["viajeId"]           = id;
     return(View("Index"));
 }
Exemple #13
0
        public ActionResult Login2()
        {
            if (TempData.ContainsKey("error"))
            {
                ViewData["error"] = TempData["error"];
                return(View("ShowForm"));
            }

            var usr  = Request.Form["username"];
            var pass = Request.Form["password"];

            //numerico?
            int dummy = 0;

            if (int.TryParse(Request.Form["username"], out dummy) == false)
            {
                usr = "******";
            }

            //  Validar usuario
            //-  200:  usr no existe                       [USUARIO NO EXISTE]
            //-  100:  pass invalido                       [INVALID PASS]

            //-  0:  usuario ok / destino ok / fecha ok    [TODO OK]
            //-  1:  usuario ok / destino no               [DESTINO DISTINTO]
            //-  2:  usuario ok / destino ok / fecha no    [CUENTA VENCIDA]
            //-  4:  usuario ok / destino ok / fecha ok    [MISMO USR/PASS]

            int result = DaoLib.loguser2(usr, pass);

            //[TODO OK]
            if (result == 0)
            {
                var datos = DaoLib.datos_del_usuario(Request.Form["username"]);

                //HACK: Hasta que ricardo actualice
                if (ConfigurationManager.AppSettings["validate_access_level"] == "false")
                {
                    (datos[0] as Dictionary <string, string>)["NIVACC"] = "9";
                }

                if ((datos[0] as Dictionary <string, string>)["NIVACC"] != "9")
                {
                    ViewData["error"] = "Permisos insuficientes";
                    return(View("ShowForm"));
                }
            }


            //[TODO OK]+ACCESO
            if (result == 0)
            {
                //Marcar sesion logeado
                Session["logged"]  = 1;
                Session["usuario"] = Request.Form["username"];
                Session["acceso"]  = "9";
                return(Redirect(Url.Content("~/")));
            }

            //[USUARIO NO EXISTE]
            if (result == 200)
            {
                ViewData["error"] = "El usuario no existe.<br/>Solicite acceso al sistema o nuevo usuario a través de la intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[INVALID USR/PASS]
            if (result == 100)
            {
                ViewData["error"] = "La contraseña es incorrecta";
                return(View("ShowForm"));
            }

            //[DESTINO DISTINTO]]
            if (result == 1)
            {
                ViewData["error"] = "Cambio de destino.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[CUENTA VENCIDA]
            if (result == 2)
            {
                ViewData["error"] = "Cuenta vencida.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2940.";
                return(View("ShowForm"));
            }

            // 4: [MISMO USR/PASS]
            ViewData["error"] = "Error desconocido";
            return(View("ShowForm"));
        }