Beispiel #1
0
        private void SyncQueues(MvcList local, MvcList remote, SingingClub scRemote)
        {
            foreach (object o in local)
            {
                TSCQueue localitem = o as TSCQueue;
                if (localitem != null && localitem.EventKey.Trim().Length > 0 && localitem.SingerKey.Trim().Length > 0 && localitem.QueueRound > 0)
                {
                    bool found = false;
                    foreach (object oremote in remote)
                    {
                        TSCQueue remoteitem = oremote as TSCQueue;
                        if (remoteitem != null && remoteitem.EventKey.Trim().Length > 0 && remoteitem.SingerKey.Trim().Length > 0 && remoteitem.QueueRound > 0)
                        {
                            if (localitem.KeyEquals(remoteitem) == true)
                            {
                                if (localitem.Equals(remoteitem) == false)
                                {
                                    UpdateQueue(localitem, remoteitem, scRemote);
                                }
                                found = true;
                                break;
                            }
                        }
                    }
                    if (found == false)
                    {
                        InsertQueue(localitem, scRemote);
                    }
                }
            }

            foreach (object o in remote)
            {
                TSCQueue remoteitem = o as TSCQueue;
                if (remoteitem != null && remoteitem.EventKey.Trim().Length > 0 && remoteitem.SingerKey.Trim().Length > 0 && remoteitem.QueueRound > 0)
                {
                    bool found = false;
                    foreach (object olocal in local)
                    {
                        TSCQueue localitem = olocal as TSCQueue;
                        if (localitem != null && localitem.EventKey.Trim().Length > 0 && localitem.SingerKey.Trim().Length > 0 && localitem.QueueRound > 0)
                        {
                            if (remoteitem.KeyEquals(localitem) == true)
                            {
                                found = true;
                                break;
                            }
                        }
                    }
                    if (found == false)
                    {
                        DeleteQueue(remoteitem, scRemote);
                    }
                }
            }
        }
Beispiel #2
0
        private List <TSCQueue> GetQueueList(SingingClub sc)
        {
            List <TSCQueue> list = new List <TSCQueue>();
            TSCQueue        q    = new TSCQueue();

            q.QueueRound = -1;
            string xml = sc.GeneralStore(TableName.TSCQueue, TableAction.GET, (new TSCQueue().GetDataXml()));

            if (xml.Trim().Length > 0)
            {
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(xml);
                XmlNodeList nodes = doc.SelectNodes("/Root/Data");
                foreach (XmlNode node in nodes)
                {
                    TSCQueue queues = new TSCQueue(node);
                    list.Add(queues);
                }
            }
            return(list);
        }
Beispiel #3
0
 private void DeleteQueue(TSCQueue remote, SingingClub scRemote)
 {
     _sb.AppendLine(string.Format("Delete: {0}.{1}.{2}", remote.EventKey, remote.SingerKey, remote.QueueRound));
     scRemote.GeneralStore(TableName.TSCQueue, TableAction.DELETE, remote.GetDataXml());
 }
Beispiel #4
0
 private void InsertQueue(TSCQueue local, SingingClub scRemote)
 {
     _sb.AppendLine(string.Format("Insert: {0}.{1}.{2}", local.EventKey, local.SingerKey, local.QueueRound));
     scRemote.GeneralStore(TableName.TSCQueue, TableAction.INSERT, local.GetDataXml());
 }
Beispiel #5
0
 private void UpdateQueue(TSCQueue local, TSCQueue remote, SingingClub scRemote)
 {
     _sb.AppendLine(string.Format("Update: {0}.{1}.{2}", local.EventKey, local.SingerKey, local.QueueRound));
     scRemote.GeneralStore(TableName.TSCQueue, TableAction.UPDATE, local.GetDataXml());
 }
Beispiel #6
0
        public void InitialLoad(InitData d, string eventvenueKey)
        {
            SingingClubClient client = new SingingClubClient();

            client.Open();
            d.RoundXml = "";
            string eventkey = "";
            string venuekey = "";

            if (eventvenueKey.Trim().Length > 0)
            {
                string[] keys = eventvenueKey.Split('\t');
                if (keys.Length == 2)
                {
                    eventkey = keys[0].Trim();
                    venuekey = keys[1].Trim();
                }
                if (eventkey.Length > 0 && venuekey.Length > 0)
                {
                    SessionBag.Current.EventKey = eventkey;
                    SessionBag.Current.VenueKey = venuekey;
                    TSCQueue q = new TSCQueue();
                    q.EventKey   = eventkey;
                    q.QueueRound = -1;
                    d.RoundXml   = client.GeneralStore("TSCQueue", "GET", q.GetDataXml());
                }
            }
            client.Close();
            XmlDocument VenuesXml           = new XmlDocument();
            XmlDocument EventsXml           = new XmlDocument();
            XmlDocument SingersXml          = new XmlDocument();
            XmlDocument RoundXml            = new XmlDocument();
            XmlDocument VenuesXmlReference  = new XmlDocument();
            XmlDocument EventsXmlReference  = new XmlDocument();
            XmlDocument SingersXmlReference = new XmlDocument();
            XmlDocument RoundXmlReference   = new XmlDocument();

            if (d.VenuesXml != null && d.VenuesXml.Trim().Length > 0)
            {
                VenuesXml.LoadXml(d.VenuesXml);
            }
            if (d.EventsXml != null && d.EventsXml.Trim().Length > 0)
            {
                EventsXml.LoadXml(d.EventsXml);
            }
            if (d.SingersXml != null && d.SingersXml.Trim().Length > 0)
            {
                SingersXml.LoadXml(d.SingersXml);
            }
            if (d.RoundXml != null && d.RoundXml.Trim().Length > 0)
            {
                RoundXml.LoadXml(d.RoundXml);
            }
            if (d.VenuesXml != null && d.VenuesXml.Trim().Length > 0)
            {
                VenuesXmlReference.LoadXml(d.VenuesXml);
            }
            if (d.EventsXml != null && d.EventsXml.Trim().Length > 0)
            {
                EventsXmlReference.LoadXml(d.EventsXml);
            }
            if (d.SingersXml != null && d.SingersXml.Trim().Length > 0)
            {
                SingersXmlReference.LoadXml(d.SingersXml);
            }
            if (d.RoundXml != null && d.RoundXml.Trim().Length > 0)
            {
                RoundXmlReference.LoadXml(d.RoundXml);
            }

            SessionBag.Current.VenuesXml           = VenuesXml;
            SessionBag.Current.EventsXml           = EventsXml;
            SessionBag.Current.SingersXml          = SingersXml;
            SessionBag.Current.RoundXml            = RoundXml;
            SessionBag.Current.VenuesXmlReference  = VenuesXmlReference;
            SessionBag.Current.EventsXmlReference  = EventsXmlReference;
            SessionBag.Current.SingersXmlReference = SingersXmlReference;
            SessionBag.Current.RoundXmlReference   = RoundXmlReference;
        }