Beispiel #1
0
 private void btnContact_Click(object sender, RoutedEventArgs e)
 {
     contactW = new ContactWindow(pd.Purchaser.ContactPerson);
     disableWindowContent();
     contactW.ShowDialog();
     //pd.Purchaser.ContactPerson = contactW.person;
 }
        private void AddContact(object obj)
        {
            var contactWindow = new ContactWindow(0, Person.AddressNo);

            contactWindow.ShowDialog();

            RefreshContacts();
        }
Beispiel #3
0
        //! add ContactWindow

        /*!
         *  \param ContactWindow adds a ContactWindow
         */
        public void add(ContactWindow contact, bool updateInfo = true)
        {
            contactsList.Add(contact);
            contactTime += contact.getDuration();
            if (updateInfo)
            {
                updateNamesList();
            }
        }
        private void EditContact(object obj)
        {
            var contact       = (Contact)obj;
            var contactWindow = new ContactWindow(contact.PersonContactId, contact.PersonId);

            contactWindow.ShowDialog();

            RefreshContacts();
        }
        public void EditAction()
        {
            ContactWindow window    = new ContactWindow();
            var           viewModel = new EditContactViewModel(_repository, SelectedPerson, window.Close);

            window.DataContext = viewModel;

            window.ShowDialog();
            LoadContactList(GetPeople());
        }
Beispiel #6
0
        //! Sort ContacWindowsVector

        /*!
         *  \param SortByField defines what to sort for
         *  Sorts all the ContactWindows by Time/Name/Station/..
         */
        public void sort(Structs.sortByField toSort)
        {
            int size  = contactsList.Count();
            int hSort = 1;

            while (hSort < size / 3)
            {
                hSort = (3 * hSort) + 1;
            }

            while (hSort >= 1)
            {
                for (int i = hSort; i < size; i++)
                {
                    for (int l = i; l >= hSort; l -= hSort)
                    {
                        if (toSort == Structs.sortByField.TIME)
                        {
                            double epoch1 = contactsList[l].getStartTime().getEpoch();
                            int    year1  = contactsList[l].getStartTime().getYear();
                            double epoch2 = contactsList[l - hSort].getStartTime().getEpoch();
                            int    year2  = contactsList[l - hSort].getStartTime().getYear();
                            if (year1 <= year2 && epoch1 < epoch2)
                            {
                                ContactWindow t = contactsList[l];
                                contactsList[l]         = contactsList[l - hSort];
                                contactsList[l - hSort] = t;
                            }
                        }
                        if (toSort == Structs.sortByField.GROUNDSTATION)
                        {
                            string st1 = contactsList[l].getStationName();
                            string st2 = contactsList[l - hSort].getStationName();
                            if (st1.CompareTo(st2) < 1)
                            {
                                ContactWindow t = contactsList[l];
                                contactsList[l]         = contactsList[l - hSort];
                                contactsList[l - hSort] = t;
                            }
                        }
                    }
                }
                hSort /= 3;
            }
        }
Beispiel #7
0
        private void btnContact_Click(object sender, RoutedEventArgs e)
        {
            if (purData == null)
            {
                purData = new PurchaserData();
            }
            if (purData.Purchaser == null)
            {
                purData.Purchaser = new Purchaser();
            }
            if (purData.Purchaser.ContactPerson == null)
            {
                purData.Purchaser.ContactPerson = new Person();
            }

            contactW = new ContactWindow(purData.Purchaser.ContactPerson);
            contactW.ShowDialog();
            purData.Purchaser.ContactPerson = contactW.person;
        }
Beispiel #8
0
        //! Randomize ContactWindowsVector

        /*!
         *  \param int random seed to randomize set
         */
        public void randomize(int seed = 0)
        {
            Random rnd;

            if (seed == 0)
            {
                rnd = new Random();
            }
            else
            {
                rnd = new Random(seed);
            }

            for (int i = 0; i < contactsList.Count(); i++)
            {
                int           item1 = rnd.Next(0, contactsList.Count() - 1);
                int           item2 = rnd.Next(0, contactsList.Count() - 1);
                ContactWindow t     = contactsList[item1];
                contactsList[item1] = contactsList[item2];
                contactsList[item2] = t;
            }
        }
Beispiel #9
0
        void image1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            var contactWindow = new ContactWindow();

            contactWindow.Show();
        }
Beispiel #10
0
        //! Open and Load saved scheduling data

        /*!
         * \param string path to Load file
         * \param Main Form to update loading bar
         */
        public static ContactWindowsVector loadFile(string filepath, Main f)
        {
            Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("en-US");

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(filepath);
            XmlNodeList dataNodes = xmlDoc.SelectNodes("//Contacts/ContactWindow");

            f.setProgressBar(dataNodes.Count);

            int    startYear  = Int32.Parse(xmlDoc.SelectSingleNode("//Contacts/StartYear").InnerText);
            double startEpoch = double.Parse(xmlDoc.SelectSingleNode("//Contacts/StartEpoch").InnerText);
            int    stopYear   = Int32.Parse(xmlDoc.SelectSingleNode("//Contacts/StopYear").InnerText);
            double stopEpoch  = double.Parse(xmlDoc.SelectSingleNode("//Contacts/StopEpoch").InnerText);

            One_Sgp4.EpochTime start = new One_Sgp4.EpochTime(startYear, startEpoch);
            One_Sgp4.EpochTime stop  = new One_Sgp4.EpochTime(stopYear, stopEpoch);

            ContactWindowsVector saved = new ContactWindowsVector();

            saved.setStartTime(start);
            saved.setStopTime(stop);
            int count = 0;

            foreach (XmlNode node in dataNodes)
            {
                string             sa        = node.SelectSingleNode("SatName").InnerText;
                string             st        = node.SelectSingleNode("StaName").InnerText;
                int                year      = Int32.Parse(node.SelectSingleNode("StartYear").InnerText);
                double             epoch     = double.Parse(node.SelectSingleNode("StartTime").InnerText);
                ContactWindow      cw        = new ContactWindow(sa, st);
                One_Sgp4.EpochTime starttime = new One_Sgp4.EpochTime(year, epoch);
                cw.setStartTime(starttime);
                year  = Int32.Parse(node.SelectSingleNode("StopYear").InnerText);
                epoch = double.Parse(node.SelectSingleNode("StopTime").InnerText);
                One_Sgp4.EpochTime stoptime = new One_Sgp4.EpochTime(year, epoch);
                cw.setStopTime(stoptime);
                if (node.SelectSingleNode("Scheduled").InnerText != "False")
                {
                    cw.setSheduled();
                }
                cw.setExclusion(bool.Parse(node.SelectSingleNode("Scheduled").InnerText));
                cw.setID(Guid.Parse(node.SelectSingleNode("ID").InnerText));
                cw.setRequestID(Guid.Parse(node.SelectSingleNode("RequID").InnerText));
                cw.setPriority(Global.Funktions.ParseEnum <Global.Structs.priority>(node.SelectSingleNode("Priority").InnerText));

                XmlNodeList children = node.SelectNodes("TrackingData/Data");
                foreach (XmlNode childNode in children)
                {
                    double       azi  = double.Parse(childNode.SelectSingleNode("Azimuth").InnerText);
                    double       ele  = double.Parse(childNode.SelectSingleNode("Elevation").InnerText);
                    double       ran  = double.Parse(childNode.SelectSingleNode("Range").InnerText);
                    double       ranR = double.Parse(childNode.SelectSingleNode("RangeRate").InnerText);
                    string       time = childNode.SelectSingleNode("TimeStamp").InnerText;
                    TrackingData td   = new TrackingData(azi, ele, ran, time);
                    cw.addTrackingData(td);
                }
                f.updateProgressBar(count++);
                System.Windows.Forms.Application.DoEvents();
                saved.add(cw);
            }
            f.resetProgressBar();
            return(saved);
        }
        void contact_Button_Click(object sender, RoutedEventArgs e)
        {
            var contactWindow = new ContactWindow();

            contactWindow.Show();
        }
Beispiel #12
0
        //! Assign a Request to a Contact

        /*!
         *  \param ContactWindow contact
         *  \param Guid Request-ID
         */
        public void assignRequestToContact(ContactWindow contact, Guid requestID)
        {
            contact.setRequestID(requestID);
            contact.setExclusion(false);
        }
Beispiel #13
0
 public void CloseMe(bool isSuccess, string message, object data)
 {
     ContactWindow.OnResult(isSuccess, message);
     this.Close();
 }
Beispiel #14
0
 private void btnContact_Click(object sender, RoutedEventArgs e)
 {
     contactW = new ContactWindow(purData.Purchaser.ContactPerson);
     contactW.ShowDialog();
     purData.Purchaser.ContactPerson = contactW.person;
 }
        void share_Button_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            ContactWindow contactWindow = new ContactWindow();

            contactWindow.Show();
        }
Beispiel #16
0
        //! Calculate ContactWindows for satellite and groundstations

        /*!
         *  \param Station to calcuate if satellite is in View
         *  \param TimeDate start time
         *  \param List<Sgp4Data> satellite position vector
         *  \param string name of the satellite
         *  \param double tick in witch time is increased by each step
         *  \return List<contactWindow>
         */
        public void calcContactWindows()
        {
            One_Sgp4.EpochTime starttime = new One_Sgp4.EpochTime(_time);
            bool          visible        = false;
            ContactWindow window         = null;
            double        minElevation   = _station.getMinElevation();

            for (int i = 0; i < _satPosData.Count(); i++)
            {
                double          lsr            = starttime.getLocalSiderealTime(_station.getLongitude());
                Structs.point3D groundLocation = _station.getEci(lsr);

                Structs.point3D v = new Structs.point3D();
                v.x = _satPosData[i].getX() - groundLocation.x;
                v.y = _satPosData[i].getY() - groundLocation.y;
                v.z = _satPosData[i].getZ() - groundLocation.z;

                double r_lat = _station.getLatitude() * Constants.toRadians;

                double sin_lat = Math.Sin(r_lat);
                double cos_lat = Math.Cos(r_lat);
                double sin_srt = Math.Sin(lsr);
                double cos_srt = Math.Cos(lsr);


                double rs = sin_lat * cos_srt * v.x
                            + sin_lat * sin_srt * v.y
                            - cos_lat * v.z;
                double re = -sin_srt * v.x
                            + cos_srt * v.y;
                double rz = cos_lat * cos_srt * v.x
                            + cos_lat * sin_srt * v.y + sin_lat * v.z;

                double range     = Math.Sqrt(rs * rs + re * re + rz * rz);
                double elevation = Math.Asin(rz / range);
                double azimuth   = Math.Atan(-re / rs);

                if (rs > 0.0)
                {
                    azimuth += Constants.pi;
                }
                if (azimuth < 0.0)
                {
                    azimuth += Constants.twoPi;
                }

                if (elevation >= minElevation)
                {
                    if (visible == false)
                    {
                        window = new ContactWindow(_satName, _station.getName());
                        window.setStartTime(starttime);
                    }
                    TrackingData testTrack = new TrackingData(azimuth,
                                                              elevation, range, starttime.ToString());
                    window.addTrackingData(testTrack);
                    visible = true;
                }
                else
                {
                    if (visible == true)
                    {
                        window.setStopTime(starttime);
                        results.Add(window);
                    }
                    visible = false;
                }

                azimuth = azimuth * Constants.toDegrees;
                starttime.addTick(_tick);
            }
        }