Exemplo n.º 1
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (Session["userLogged"] == null || Session["currentCockpitConfiguration"] == null)
            {
                Response.Redirect("Login.aspx");
            }

            lblUserLogged.Text = Session["userLogged"].ToString();

            gadgetManager = new GadgetManager();

            createCategoriesPanels();

            createDialog();
        }
        /// <summary>
        /// This method has to regroup all informations concerning cockpit configuration
        /// based on parameter <paramref name="userName"/>. Once it's done, an instance
        /// of <c>CockpitConfiguration</c> is created and returned.
        /// </summary>
        /// <param name="userName">Contains the userName needed to know which cockpit 
        /// configuration to restore from database.</param>
        /// <returns>The new instance of <c>CockpitConfiguration</c> is returned.</returns>
        /// <exception cref="Exception">An exception is raised and thrown if a problem occurs 
        /// with database query.</exception>
        /// <remarks>If the user hasn't any cockpit configuration attributed, a default
        /// one is loaded.</remarks>
        public CockpitConfiguration getConfiguration(string userName)
        {
            XmlDocument configurationXml = getConfigurationXml(userName);
            int configurationID = int.Parse(configurationXml.GetElementsByTagName("cockpitConfiguration")[0].Attributes.GetNamedItem("ID").InnerText);

            /*
             * Then, display configuration is restored
             */
            XmlNode cockpitDisplayConfigIdNode = configurationXml.GetElementsByTagName("displayConfig")[0];

            int displayConfigurationID = int.Parse(cockpitDisplayConfigIdNode.InnerText);

            DisplayConfigurationManager displayManager = new DisplayConfigurationManager();
            DisplayConfiguration displayConfiguration = displayManager.getDisplayWithId(displayConfigurationID);

            /*
             * Finally, the list of gadgets used in the cockpit configuration are
             * restored and created.
             */
            XmlNodeList gadgetNodes = configurationXml.GetElementsByTagName("gadget");
            GadgetManager gadgetManager = new GadgetManager();
            List<Gadget> gadgets=new List<Gadget>();
            int gadgetId, gadgetPosition, uniqueId=0;

            foreach (XmlNode gadgetNode in gadgetNodes)
            {
                gadgetId = int.Parse(gadgetNode.Attributes.GetNamedItem("ID").InnerText);
                gadgetPosition = int.Parse(gadgetNode.Attributes.GetNamedItem("column").InnerText);
                Gadget gadgetToAdd = gadgetManager.getGadgetWithId(gadgetId);
                gadgetToAdd.setPosition(gadgetPosition);
                gadgetToAdd.setUniqueID(uniqueId++);
                gadgets.Add(gadgetToAdd);
            }

            return new CockpitConfiguration(configurationID, gadgets, displayConfiguration);
        }