/// <summary> /// Method <c>OnInit</c> is redefined in the aim to build the interface /// with columns and gadgets defined in a cockpit display configuration /// stored in database. /// </summary> /// <param name="e"></param> protected override void OnInit(EventArgs e) { base.OnInit(e); if (Session["userLogged"] == null) { Response.Redirect("Login.aspx"); } lblUserLogged.Text = Session["userLogged"].ToString(); //Find user cockpit configuration and generate columns based on display configuration. if (this.Session["currentCockpitConfiguration"] == null) { try { cockpitConfigurationManager = new CockpitConfigurationManager(); cockpitConfiguration = cockpitConfigurationManager.getConfiguration(Session["userLogged"].ToString()); this.Session["currentCockpitConfiguration"] = cockpitConfiguration; setupGadgetsColumns(); } catch (Exception exception) { Console.WriteLine(exception.Message); Label lblDbError = new Label(); lblDbError.Text = "Unable to get cockpit configuration in database"; Master.FindControl("MainContent").Controls.Add(lblDbError); ((HyperLink)Master.FindControl("MenuContent").FindControl("editCockpitLink")).Enabled = false; } } else { cockpitConfiguration = (CockpitConfiguration)this.Session["currentCockpitConfiguration"]; setupGadgetsColumns(); } }
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); }
private void compareCockpitConfigurations(CockpitConfiguration cockpitConfigurationToObtain, bool isNbColumnsTrue = true, bool isNbGadgetsTrue = true, bool isGadgetsPositionTrue = true) { List<List<Gadget>> columns = cockpitConfiguration.getGadgetsColumns(); List<List<Gadget>> columnsToObtain = cockpitConfigurationToObtain.getGadgetsColumns(); //verify the number of columns if (isNbColumnsTrue) Assert.IsTrue(columns.Count == columnsToObtain.Count, "Wrong number of columns in cockpitConfiguration"); else Assert.IsFalse(columns.Count == columnsToObtain.Count, "Wrong number of columns in cockpitConfiguration"); //for each columns bool isDifference = false; for (int column = 0; column < cockpitConfiguration.getGadgetsColumns().Count; column++) { //verify the number of gadgets in columns if (isNbGadgetsTrue) Assert.IsTrue(columns[column].Count == columnsToObtain[column].Count, "Wrong number of gadget in column"); else Assert.IsFalse(columns[column].Count == columnsToObtain[column].Count, "Wrong number of gadget in column"); //for each gadgets for (int gadgetIndex = 0; gadgetIndex < columns[column].Count; gadgetIndex++) { //verifiy if gadgets' ids are similar if (columns[column][gadgetIndex].getGadgetId() != columnsToObtain[column][gadgetIndex].getGadgetId()) { isDifference = true; } } } if (isGadgetsPositionTrue) Assert.IsFalse(isDifference, "Wrong gadget's position, should be true"); else Assert.IsTrue(isDifference, "Wrong gadget's position, should be wrong"); }
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); }
protected void saveConfigLink_Click(object sender, EventArgs e) { cockpitConfiguration = (CockpitConfiguration)Session["currentCockpitConfiguration"]; try { cockpitConfigurationManager.saveConfiguration(Session["userLogged"].ToString(), cockpitConfiguration); } catch (Exception exception) { //print error message Console.WriteLine(exception.Message); ///todo } }
/// <summary> /// Methods <c>saveConfiguration</c> is called when a cockpit configuration has to be saved /// in database. /// </summary> /// <param name="userName"></param> /// <param name="configurationToSave"></param> public void saveConfiguration(string userName, CockpitConfiguration configurationToSave) { XmlDocument configurationDoc = dbManager.retrieveDocument("cockpitConfiguration", configurationToSave.getConfigurationID()); //update username XmlNode cockpitConfigurationUserNameNode = configurationDoc.GetElementsByTagName("userName")[0]; cockpitConfigurationUserNameNode.InnerText = userName; //update display configuration id XmlNode cockpitDisplayConfigIdNode = configurationDoc.GetElementsByTagName("displayConfig")[0]; cockpitDisplayConfigIdNode.InnerText = configurationToSave.getCurrentDisplay().getDisplayId().ToString(); //udpate list of gadgets XmlNode cockpitGadgetsNode = configurationDoc.GetElementsByTagName("gadgets")[0]; StringBuilder gadgetsString = new StringBuilder(""); for (int i = 0; i < configurationToSave.getGadgetsColumns().Count; i++) { foreach (Gadget gadget in configurationToSave.getGadgetsColumns().ElementAt(i)) { gadgetsString.Append("<gadget ID='" + gadget.getGadgetId() + "' column='" + i + "'/>"); } } cockpitGadgetsNode.InnerXml = gadgetsString.ToString(); if (configurationToSave.getConfigurationID() == 0) //configuration id must be another than default one { //new docname and id is taken from current hour string uniqueDocName = System.DateTime.Now.ToString("HHmmssffff"); configurationToSave.setConfigurationID(long.Parse(uniqueDocName)); XmlNode cockpitConfigurationIdNode = configurationDoc.GetElementsByTagName("cockpitConfiguration")[0].Attributes.GetNamedItem("ID"); cockpitConfigurationIdNode.InnerText = configurationToSave.getConfigurationID().ToString(); } if (configurationToSave.getConfigurationID() != long.Parse(configurationDoc.GetElementsByTagName("cockpitConfiguration")[0].Attributes.GetNamedItem("ID").InnerText)) { throw new Exception("Configuration's id and docName are not equal, impossible to save configuration"); } dbManager.insertDocument(configurationDoc, "cockpitConfiguration", configurationToSave.getConfigurationID()); }