private static void AddInPartnerUpdates(IPartnerDAO partnerDao, IStoreDAO storeDao, SyncModel syncModel, int fromVersion) { // Get all the partners that have changed since the last sync with this specific cloud server List <AndroAdminDataAccess.Domain.Partner> partners = (List <AndroAdminDataAccess.Domain.Partner>)partnerDao.GetAfterDataVersion(fromVersion); foreach (AndroAdminDataAccess.Domain.Partner partner in partners) { // Add the partner Partner syncPartner = new Partner() { Id = partner.Id, ExternalId = partner.ExternalId, Name = partner.Name }; syncModel.Partners.Add(syncPartner); // Get the partner DAO IACSApplicationDAO acsApplicationDao = AndroAdminDataAccessFactory.GetACSApplicationDAO(); if (SyncHelper.ConnectionStringOverride != null) { acsApplicationDao.ConnectionStringOverride = SyncHelper.ConnectionStringOverride; } // Get all the applications that have changed for this partner since the last sync with this specific cloud server IList <AndroAdminDataAccess.Domain.ACSApplication> acsApplications = acsApplicationDao.GetByPartnerAfterDataVersion(partner.Id, fromVersion); foreach (AndroAdminDataAccess.Domain.ACSApplication acsApplication in acsApplications) { // Add the application Application syncApplication = new Application() { Id = acsApplication.Id, ExternalApplicationId = acsApplication.ExternalApplicationId, Name = acsApplication.Name, ExternalDisplayName = acsApplication.ExternalApplicationName }; syncPartner.Applications.Add(syncApplication); // Get all the application stores that have changed for this application since the last sync with this specific cloud server StringBuilder siteIds = new StringBuilder(); IList <AndroAdminDataAccess.Domain.Store> acsApplicationStores = storeDao.GetByACSApplicationId(acsApplication.Id); foreach (AndroAdminDataAccess.Domain.Store store in acsApplicationStores) { if (siteIds.Length > 0) { siteIds.Append(","); } siteIds.Append(store.AndromedaSiteId.ToString()); } syncApplication.Sites = siteIds.ToString(); } } }
private static string GenerateExportJson(int fromDataVersion, out string exportJson) { string error = ""; exportJson = ""; int toDataVersion = -1; string settingValue = ""; // Get the current data version error = AndroAdminDataAccessFactory.GetSettingsDAO().GetByName("DataVersion", out settingValue); if (String.IsNullOrEmpty(error)) { if (!int.TryParse(settingValue, out toDataVersion)) { error = "Version setting is not a number: " + settingValue; } } SignpostSync signpostSync = null; if (String.IsNullOrEmpty(error)) { List <SignpostACSApplication> signpostACSApplications = new List <SignpostACSApplication>(); // Get the acs applications that have changed since the last sync IList <ACSApplication> acsApplications = AndroAdminDataAccessFactory.GetACSApplicationDAO().GetDataBetweenVersions(fromDataVersion, toDataVersion); signpostSync = new SignpostSync() { fromVersion = fromDataVersion, toVersion = toDataVersion }; foreach (ACSApplication acsApplication in acsApplications) { // Get the sites for the acs application IList <int> siteIds = AndroAdminDataAccessFactory.GetACSApplicationDAO().GetSites(acsApplication.Id); // Put together the ACS application data SignpostACSApplication signpostACSApplication = new SignpostACSApplication() { id = acsApplication.Id, acsApplicationSites = siteIds, environmentId = acsApplication.EnvironmentId, externalApplicationId = acsApplication.ExternalApplicationId, name = acsApplication.Name }; signpostSync.acsApplicationSyncs.Add(signpostACSApplication); } } if (String.IsNullOrEmpty(error)) { if (signpostSync != null) { exportJson = JsonConvert.SerializeObject(signpostSync); } } return(error); }