/// <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);
        }
예제 #2
0
        public void initializeCockpitConfigurationTest()
        {
            DisplayConfigurationManager displayManager = new DisplayConfigurationManager();

            List<Gadget> gadgets = new List<Gadget>();
            Gadget gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(5, "gadget5", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfiguration = new CockpitConfiguration(33, gadgets, displayManager.getDisplayWithId(1));

            TestContext.RequestedPage.Session.Add("currentCockpitConfiguration", cockpitConfiguration);
        }
예제 #3
0
        public void updateGadgetPositionTest()
        {
            int originColumnId = 0; // TODO: Initialize to an appropriate value
            int originRowId = 0; // TODO: Initialize to an appropriate value
            int destinationColumnId = 0; // TODO: Initialize to an appropriate value
            int destinationRowId = 0; // TODO: Initialize to an appropriate value

            CockpitConfiguration cockpitConfigurationToObtain;

            //*****************************************************************
            DisplayConfigurationManager displayManager = new DisplayConfigurationManager();

            List<Gadget> gadgets = new List<Gadget>();
            Gadget gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(5, "gadget5", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfigurationToObtain = new CockpitConfiguration(23, gadgets, displayManager.getDisplayWithId(1));

            //**************************************************************************************

            cockpitConfiguration = EditCockpit.updateGadgetPosition(originColumnId, originRowId, destinationColumnId, destinationRowId);
            TestContext.RequestedPage.Session.Add("currentCockpitConfiguration", cockpitConfiguration);

            compareCockpitConfigurations(cockpitConfigurationToObtain);

            //move gadget 5 on second position first column

            gadgets = new List<Gadget>();
            gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(5, "gadget5", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfigurationToObtain = new CockpitConfiguration(12, gadgets, displayManager.getDisplayWithId(1));

            cockpitConfiguration = EditCockpit.updateGadgetPosition(2, 2, 1, 1);

            compareCockpitConfigurations(cockpitConfigurationToObtain, isGadgetsPositionTrue: false);

            //***********************************************************************************************

            gadgets = new List<Gadget>();
            gadget = new Gadget(5, "gadget5", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(1, "gadget1", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(2, "gadget2", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(3, "gadget3", position: 0);
            gadgets.Add(gadget);
            gadget = new Gadget(4, "gadget4", position: 1);
            gadgets.Add(gadget);
            gadget = new Gadget(6, "gadget6", position: 1);
            gadgets.Add(gadget);

            cockpitConfigurationToObtain = new CockpitConfiguration(11, gadgets, displayManager.getDisplayWithId(1));
            compareCockpitConfigurations(cockpitConfigurationToObtain, isGadgetsPositionTrue: true);
        }