public int Create(int companyId, Format_Create parseData) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { CompanyInSubscriptionPlan newData = new CompanyInSubscriptionPlan(); newData.CompanyID = companyId; newData.SubscriptionPlanID = parseData.SubscriptionPlanId; newData.SubscriptionName = parseData.SubscriptionName ?? ""; newData.RatePer1KMessageIngestion = parseData.RatePer1KMessageIngestion; newData.RatePer1KMessageHotStore = parseData.RatePer1KMessageHotStore; newData.RatePer1KMessageColdStore = parseData.RatePer1KMessageColdStore; newData.StartDate = parseData.StartDate; newData.ExpiredDate = parseData.ExpiredDate; newData.MaxMessageQuotaPerDay = parseData.MaxMessageQuotaPerDay; newData.StoreHotMessage = parseData.StoreHotMessage; newData.StoreColdMessage = parseData.StoreColdMessage; newData.CosmosDBConnectionString = parseData.CosmosDBConnectionString ?? ""; newData.CosmosDBName = parseData.CosmosDBName; newData.CosmosDBCollectionID = parseData.CosmosDBColletionId; newData.CosmosDBCollectionTTL = parseData.CosmosDBCollectionTTL; newData.CosmosDBCollectionReservedUnits = parseData.CosmosDBCollectionReservedUnits; newData.IoTHubConnectionString = parseData.IoTHubConnectionString ?? ""; newData.IoTHubConsumerGroup = parseData.IoTHubConsumerGroup ?? ""; newData.StorageConnectionString = parseData.StorageConnectionString ?? ""; dbEntity.CompanyInSubscriptionPlan.Add(newData); dbEntity.SaveChanges(); return(newData.Id); } }
private async Task <DocDBHelper> createDocDBHelper(CompanyInSubscriptionPlan cisp) { try { DocDBHelper docDBHelper = new DocDBHelper(cisp.CosmosDBConnectionString); await docDBHelper.checkDatabaseIfNotExists(cisp.CosmosDBName); await docDBHelper.checkCollectionIfNotExists(cisp.CosmosDBName, cisp.CosmosDBCollectionID); //CosmosDbHelper cdsCosmosDbHelper = new CosmosDbHelper(cisp.CosmosDBConnectionString, cisp.CosmosDBName, cisp.CosmosDBCollectionID); //await cdsCosmosDbHelper.checkDatabaseIfNotExists(); //await cdsCosmosDbHelper.checkCollectionIfNotExists(); return(docDBHelper); } catch (DocumentClientException de) { Exception baseException = de.GetBaseException(); _consoleLog.Error("{0} error occurred: {1}, Message: {2}", de.StatusCode, de.Message, baseException.Message); _consoleLog.BlobLogError("fetchDocumentDB: {0} error occurred: {1}, Message: {2}", de.StatusCode, de.Message, baseException.Message); throw; } catch (Exception e) { Exception baseException = e.GetBaseException(); _consoleLog.Error("Error: {0}, Message: {1}", e.Message, baseException.Message); _consoleLog.BlobLogError("fetchDocumentDB: Error: {0}, Message: {1}", e.Message, baseException.Message); throw; } }
public void Delete(int companyId, int subscriptionId) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { CompanyInSubscriptionPlan existingData = (from c in dbEntity.CompanyInSubscriptionPlan where c.Id == subscriptionId && c.CompanyID == companyId select c).SingleOrDefault <CompanyInSubscriptionPlan>(); if (existingData == null) { throw new CDSException(10302); } dbEntity.CompanyInSubscriptionPlan.Remove(existingData); dbEntity.SaveChanges(); } }
public Format_Detail Get(int companyId, int subscriptionId) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { CompanyInSubscriptionPlan existingData = (from c in dbEntity.CompanyInSubscriptionPlan.AsNoTracking() where c.Id == subscriptionId && c.CompanyID == companyId select c).SingleOrDefault <CompanyInSubscriptionPlan>(); if (existingData == null) { throw new CDSException(10302); } return(new Format_Detail() { Id = existingData.Id, SubscriptionPlanId = existingData.SubscriptionPlanID, SubscriptionName = existingData.SubscriptionName, RatePer1KMessageIngestion = (double)existingData.RatePer1KMessageIngestion, RatePer1KMessageHotStore = (double)existingData.RatePer1KMessageHotStore, RatePer1KMessageColdStore = (double)existingData.RatePer1KMessageColdStore, StartDate = existingData.StartDate, ExpiredDate = existingData.ExpiredDate, MaxMessageQuotaPerDay = existingData.MaxMessageQuotaPerDay, StoreHotMessage = existingData.StoreHotMessage, StoreColdMessage = existingData.StoreColdMessage, CosmosDBConnectionString = existingData.CosmosDBConnectionString, CosmosDBName = existingData.CosmosDBName, CosmosDBColletionId = existingData.CosmosDBCollectionID, CosmosDBCollectionTTL = (int)existingData.CosmosDBCollectionTTL, CosmosDBCollectionReservedUnits = (int)existingData.CosmosDBCollectionReservedUnits, IoTHubConnectionString = existingData.IoTHubConnectionString, IoTHubConsumerGroup = existingData.IoTHubConsumerGroup, StorageConnectionString = existingData.StorageConnectionString }); } }
public void Update(int companyId, int subscriptionId, Format_Update parseData) { using (CDStudioEntities dbEntity = new CDStudioEntities()) { CompanyInSubscriptionPlan existingData = (from c in dbEntity.CompanyInSubscriptionPlan where c.Id == subscriptionId && c.CompanyID == companyId select c).SingleOrDefault <CompanyInSubscriptionPlan>(); if (existingData == null) { throw new CDSException(10302); } if (parseData.SubscriptionPlanId != null) { existingData.SubscriptionPlanID = (int)parseData.SubscriptionPlanId; } if (parseData.SubscriptionName != null) { existingData.SubscriptionName = parseData.SubscriptionName; } if (parseData.RatePer1KMessageIngestion.HasValue) { existingData.RatePer1KMessageIngestion = (double)parseData.RatePer1KMessageIngestion; } if (parseData.RatePer1KMessageHotStore.HasValue) { existingData.RatePer1KMessageHotStore = (double)parseData.RatePer1KMessageHotStore; } if (parseData.RatePer1KMessageHotStore.HasValue) { existingData.RatePer1KMessageColdStore = (double)parseData.RatePer1KMessageColdStore; } if (parseData.StartDate.HasValue) { existingData.StartDate = (DateTime)parseData.StartDate; } if (parseData.ExpiredDate.HasValue) { existingData.ExpiredDate = (DateTime)parseData.ExpiredDate; } if (parseData.MaxMessageQuotaPerDay.HasValue) { existingData.MaxMessageQuotaPerDay = (int)parseData.MaxMessageQuotaPerDay; } if (parseData.StoreHotMessage.HasValue) { parseData.StoreHotMessage = (bool)parseData.StoreHotMessage; } if (parseData.StoreColdMessage.HasValue) { existingData.StoreColdMessage = (bool)parseData.StoreColdMessage; } if (parseData.CosmosDBConnectionString != null) { existingData.CosmosDBConnectionString = parseData.CosmosDBConnectionString; } if (parseData.CosmosDBName != null) { existingData.CosmosDBName = parseData.CosmosDBName; } if (parseData.CosmosDBColletionId != null) { existingData.CosmosDBCollectionID = parseData.CosmosDBColletionId; } if (parseData.CosmosDBCollectionTTL.HasValue) { existingData.CosmosDBCollectionTTL = (int)parseData.CosmosDBCollectionTTL; } if (parseData.CosmosDBCollectionReservedUnits.HasValue) { existingData.CosmosDBCollectionReservedUnits = (int)parseData.CosmosDBCollectionReservedUnits; } if (parseData.IoTHubConnectionString != null) { existingData.IoTHubConnectionString = parseData.IoTHubConnectionString ?? ""; } if (parseData.IoTHubConsumerGroup != null) { existingData.IoTHubConsumerGroup = parseData.IoTHubConsumerGroup ?? ""; } if (parseData.StorageConnectionString != null) { existingData.StorageConnectionString = existingData.StorageConnectionString ?? ""; } dbEntity.SaveChanges(); } }
private async Task loadConfigurationFromDB(EventProcessorFactoryModel epfm) { CdsInfo cdsInfo = epfm.CdsInfo; IoTHub iotHub; CompanyInSubscriptionPlan cisp; string telemetryStorageContainer; string eventStorageContainer; if (_ignoreCDS20DB) { /* For Test */ TestSampleHelper tsHelper = new TestSampleHelper(); iotHub = tsHelper.generateIoTHubForTest(cdsInfo.IoTHubId); cisp = new CompanyInSubscriptionPlan(); cisp.ExpiredDate = DateTime.UtcNow.AddMonths(1);// Test cisp.StoreColdMessage = true; cisp.StoreHotMessage = true; /* Walker's Cosmos DB */ cisp.CosmosDBConnectionString = "https://sfdev.documents.azure.com:443/;AccountKey=PHsydcvXyVdELDtWTgLvlbrP5ohuaJbMKQNNCxZKR1UPwS45qVkYiTuXR6wTm9PhnqIDe5IwUoQ0fqmk28CJww==;";// "https://sfdocumentdb.documents.azure.com:443/;AccountKey=uscYe8taxXEtIIzQjCM47T3y3F53wMn2QOPUOnZu55oBClFnzOzfd5UDSlMixgCR6aqBNbHebJmIgoSmdk2MxQ==;"; cisp.CosmosDBName = "db69"; cisp.CosmosDBCollectionID = "69"; telemetryStorageContainer = "telemetry"; eventStorageContainer = "event"; } else { /* For CDS 2.0 DB */ AzureSQLHelper.IoTHubModel ioTHubModel = new AzureSQLHelper.IoTHubModel(); iotHub = ioTHubModel.GetById(Int32.Parse(cdsInfo.IoTHubId)); AzureSQLHelper.CompanyModel companyModel = new AzureSQLHelper.CompanyModel(); cisp = companyModel.GetActiveSubscriptionPlanByCompanyId(Int32.Parse(cdsInfo.CompanyId)); telemetryStorageContainer = AzureSQLHelper.SystemConfigurationModel.GetCDSConfigValueByKey("TelemetryStorageContainer"); telemetryStorageContainer = telemetryStorageContainer == null ? "telemetry" : telemetryStorageContainer; eventStorageContainer = AzureSQLHelper.SystemConfigurationModel.GetCDSConfigValueByKey("EventStorageContainer"); eventStorageContainer = eventStorageContainer == null ? "event" : eventStorageContainer; } if (iotHub == null) { _consoleLog.Info("IoTHub Not Found. IoTHubId:{0}", cdsInfo.IoTHubId); _consoleLog.BlobLogError("IoTHub Not Found. IoTHubId:{0}", cdsInfo.IoTHubId); throw new Exception("IoTHub Not Found"); } if (cisp == null) { _consoleLog.Info("NO Actived CompanyInSubscriptionPlan. CompanyId:{0}", cdsInfo.CompanyId); _consoleLog.BlobLogError("NO Actived CompanyInSubscriptionPlan. CompanyId:{0}", cdsInfo.CompanyId); throw new Exception("NO Actived CompanyInSubscriptionPlan"); } /* IoTHubAlias */ cdsInfo.IoTHubAlias = iotHub.IoTHubName; /* CompanyInSubscriptionPlan */ cdsInfo.CompanyInSubscriptionPlan = cisp; /* Load the message schema from IoT Hub devices */ epfm.SimpleIoTDeviceMessageCatalogList = findAllMessageCatalogIdInIoTDevices(iotHub.IoTDevice); /* Load the message JSON transformer from IoT Hub devices */ epfm.MessageTransformerInDeviceId = findAllMessageTransformers(iotHub.IoTDevice); /* Load Alarm Rules */ epfm.EventRulesInMessageId = findAllEventRules(iotHub); /* Load Monitor Frequence In MinSec By MessageId */ epfm.MonitorFrequenceInMinSecByMessageId = findMonitorFrequenceInMinSecByMessageId(iotHub.IoTDevice); /* Load IoT Hub configuration */ _CompatibleEventHub = findCompatibleEventHub(iotHub); /* Cosmos DB Helper */ epfm.docDBHelper = await createDocDBHelper(cdsInfo.CompanyInSubscriptionPlan); /* Blob Helper */ epfm.TelemetryBlobStorageHelper = new BlobStorageHelper(_CompatibleEventHub.StorageConnectionString, telemetryStorageContainer); epfm.EventBlobStorageHelper = new BlobStorageHelper(_CompatibleEventHub.StorageConnectionString, eventStorageContainer); /* Service Bus Helper */ CdsBackendSetting cdsBackendSetting = cdsInfo.cdsBackendSetting; epfm.EventQueueClient = QueueClient.CreateFromConnectionString(cdsBackendSetting.ServiceBusConnectionString, cdsBackendSetting.ServiceBusEventActionQueue); epfm.InfraQueueClient = QueueClient.CreateFromConnectionString(cdsBackendSetting.ServiceBusConnectionString, cdsBackendSetting.ServiceBusProvisionQueue); }