public Window1()
        {
            dataAccess = new DataAccess();
            InitializeComponent();
            messageMarqueeSpeed = Convert.ToDouble(ConfigurationSettings.AppSettings["MESSAGE_MARQUEE_SPEED"]);


            marqueeAnimation = new DoubleAnimation();
            marqueeAnimation.Completed += new EventHandler(marqueeAnimation_Completed);

            waterfallcharts = new WaterFallChart();
            tbMain.Visibility = Visibility.Hidden;
            tbMain.Items.Add(waterfallcharts);
            tbMain.Items.Add(new Safety());
            tbMain.Items.Add(new Monitor());
            
            
            summary = new Summary();
            //tbMain.Items.Add(summary);
            

            appTimer = new System.Timers.Timer(10 * 1000);
            appTimer.AutoReset = false;
            appTimer.Elapsed += new ElapsedEventHandler(appTimer_Elapsed);

            startTimer = new System.Timers.Timer(100);
            startTimer.AutoReset = false;
            startTimer.Elapsed += new ElapsedEventHandler(startTimer_Elapsed);
            startTimer.Start();
              
        }
 public PlanMonitor()
 {
     InitializeComponent();
     dataAccess = new DataAccess();
     
     shifts = dataAccess.getShifts();
 }
        public Safety()
        {
            InitializeComponent();
            dataAccess = new DataAccess();
           




        }
 public PlantAvailability()
 {
     RunHours = String.Empty;
     Downtime = String.Empty;
     Availability = String.Empty;
     Lines = new ObservableCollection<LineAvailability>();
     dataAccess = new DataAccess();
 }
        public Window1()
        {
            InitializeComponent();

            timertick = Convert.ToDouble(ConfigurationSettings.AppSettings["TIMERTICK"]);

            customerLogoPath = ConfigurationSettings.AppSettings["Customer_Logo"];

            string MonitorEnable = ConfigurationSettings.AppSettings["Monitor_Enabled"];
            if (MonitorEnable == "Yes")
            {
                LineMonitor.Visibility = Visibility.Visible;
            }
            string quantityEnable = ConfigurationSettings.AppSettings["Quantity_Enabled"];

            if (quantityEnable == "Yes")
            {
                LineStatsGrid.Columns[1].Visibility = Visibility.Visible;
                LineStatsGrid.Columns[2].Visibility = Visibility.Visible;
            }

            issueMarqueeSpeed = Convert.ToDouble(ConfigurationSettings.AppSettings["ISSUE_MARQUEE_SPEED"]);
            messageMarqueeSpeed = Convert.ToDouble(ConfigurationSettings.AppSettings["MESSAGE_MARQUEE_SPEED"]);


            try
            {
                
                //customerLogo.Source = new BitmapImage(new Uri(customerLogoPath,UriKind.RelativeOrAbsolute));
                dataAccess = new DataAccess();
                dpFrom.Text = DateTime.Now.ToShortDateString();
            }


            catch (SqlException s)
            {
                MessageBox.Show("Unable to Connect to DataBase ", "ERROR",
                                MessageBoxButton.OK, MessageBoxImage.Error);
                Application.Current.Shutdown();
            }



            lines = new String[3];

            lines[0] = ConfigurationSettings.AppSettings["Lines_List_1"];
            lines[1] = ConfigurationSettings.AppSettings["Lines_List_2"];
            lines[2] = ConfigurationSettings.AppSettings["Lines_List_3"];


            lineInfoTable = new DataTable[3];
            lineInfoTable[0] = dataAccess.getProductionLineInfo(lines[0]);
            lineInfoTable[1] = dataAccess.getProductionLineInfo(lines[1]);
            lineInfoTable[2] = dataAccess.getProductionLineInfo(lines[2]);

            linesInfoTable = dataAccess.getProductionLineInfo();

            cmbProductionLineSelector.DataContext = linesInfoTable;

            shifts = dataAccess.getShifts();

            foreach (Shift s in shifts)
            {
                s.Sessions = dataAccess.getSessions(s.ID);
            }




            lineStatus = new LineStatusCollection[3];


            for (int i = 0; i < 3; i++)
            {
                lineStatus[i] = new LineStatusCollection();
            }


            for (int j = 0; j < 3; j++)
            {
                for (int i = 0; i < lineInfoTable[j].Rows.Count; i++)
                {
                    lineStatus[j].Add(new LineStatus((String)lineInfoTable[j].Rows[i]["description"],
                        (int)lineInfoTable[j].Rows[i]["id"]));

                }
            }


            marqueeAnimation = new DoubleAnimation();
            //marqueeAnimation.Completed += new EventHandler(marqueeAnimation_Completed);


            issueMarqueeAnimation = new DoubleAnimation();
            issueMarqueeAnimation.Completed += new EventHandler(issueMarqueeAnimation_Completed);

            appTimer = new System.Timers.Timer(10);
            appTimer.Elapsed += new System.Timers.ElapsedEventHandler(appTimer_Elapsed);
            appTimer.AutoReset = false;

            
            appTimer.Start();


            TBLine.SelectedIndex = 1;
            tbIssueMarquee_Loaded();

            cmbShiftSelector.DataContext = shifts;

        }
        public Monitor()
        {
            try
            {

                timertick = Convert.ToDouble(ConfigurationSettings.AppSettings["TIMERTICK"]);
                dataAccess = new DataAccess();
                dt = dataAccess.GetOpenIssues();

                shifts = dataAccess.getShifts();

                foreach (Shift s in shifts)
                {
                    s.Sessions = dataAccess.getSessions(s.ID);
                }
                lines = ConfigurationSettings.AppSettings["Lines_List_1"];

                lineInfoTable = dataAccess.getProductionLineInfo(lines);

                lineStatus = new LineStatusCollection();




                for (int i = 0; i < lineInfoTable.Rows.Count; i++)
                {
                    lineStatus.Add(new LineStatus((String)lineInfoTable.Rows[i]["description"],
                        (int)lineInfoTable.Rows[i]["id"]));

                }

                


                

                appTimer = new System.Timers.Timer(10);
                appTimer.Elapsed += new System.Timers.ElapsedEventHandler(appTimer_Elapsed);
                appTimer.AutoReset = false;

                InitializeComponent();
                LineStatsGrid.Columns[2].Visibility = Visibility.Visible;

                appTimer.Start();
            }

            

            catch (SqlException s)
            {
                MessageBox.Show("Unable to Connect to DataBase ", "ERROR",
                                MessageBoxButton.OK, MessageBoxImage.Error);
                Application.Current.Shutdown();
            }

        }