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); } } } }
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); }
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()); }
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()); }
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()); }
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; }