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; } }
private static async Task PolluteCosmosDBCollection() { Console.WriteLine("Polluting given cosmosdb collection with documents."); DocDBHelper dbHelp = new DocDBHelper(CosmosDBAccountName, CosmosDBDatabaseName, CosmosDBCollectionName, CosmosDBKey); await dbHelp.Connect(); await dbHelp.AddData(); return; }
public async void ThreadProc() { string partitionKey = ""; int collectionTTL = 0, collectionRU = 0; AzureSQLHelper.OperationTaskModel operationTask = new AzureSQLHelper.OperationTaskModel(); try { DocDBHelper docDBHelper = new DocDBHelper(_ConnectionString); switch (_Action) { case "create cosmosdb collection": partitionKey = _JsonMessage["Content"]["partitionKey"].ToString(); collectionTTL = int.Parse(_JsonMessage["Content"]["collectionTTL"].ToString()); collectionRU = int.Parse(_JsonMessage["Content"]["collectionRU"].ToString()); await docDBHelper.CreateDatabaseAndCollection(_DatabaseName, _CollectionId, partitionKey, collectionTTL, collectionRU); break; case "purge cosmosdb collection": await docDBHelper.PurgeDatabase(_DatabaseName); break; case "update cosmosdb collection": collectionTTL = int.Parse(_JsonMessage["Content"]["collectionTTL"].ToString()); collectionRU = int.Parse(_JsonMessage["Content"]["collectionRU"].ToString()); await docDBHelper.UpdateCollection(_DatabaseName, _CollectionId, collectionTTL, collectionRU); break; } ProvisionApp._appLogger.Info("[Cosmosdb] " + _Action + " success: Databae-" + _DatabaseName + ", CollectionId-" + _CollectionId); operationTask.UpdateTaskBySuccess(_TaskId); } catch (Exception ex) { StringBuilder logMessage = new StringBuilder(); logMessage.AppendLine("[Cosmosdb] " + _Action + " Failed: Databae-" + _DatabaseName + ", CollectionId-" + _CollectionId); logMessage.AppendLine("\tMessage:" + JsonConvert.SerializeObject(this)); logMessage.AppendLine("\tException:" + ex.Message); ProvisionApp._appLogger.Error(logMessage); operationTask.UpdateTaskByFail(_TaskId, ex.Message); } }
private async Task <string> putMessage2CosmosDb(string deviceId, int messageCatalogId, JObject payload) { TelemetryDocument messageDocument = new TelemetryDocument { //Id = xxxx, // Marked the Id property will generate a random GUID automatically. companyId = _companyId, iotDeviceId = deviceId, messageCatalogId = messageCatalogId, messageType = DocumentType.TelemetryDocument, messageContent = payload }; DocDBHelper cosmosDbHelper = _epfm.docDBHelper; Document document = await cosmosDbHelper.putDocumentAsync(messageDocument); //_consoleLog.Info("Message Document.Id={0}", document.Id); //_consoleLog.BlobLogInfo("Message Document.Id={0}", document.Id); return(document.Id); }
private async Task <string> putEvent2CosmosDb(string deviceId, DocDBHelper docDBHelper, EventMessageModel eventMessageModel) { EventDocument eventDocument = new EventDocument { companyId = _companyId, iotDeviceId = deviceId, messageCatalogId = eventMessageModel.MessageId, messageType = DocumentType.EventDocument, eventRuleCatalogId = eventMessageModel.EventRuleId, eventRuleCatalogName = eventMessageModel.EventRuleName, eventRuleCatalogDescription = eventMessageModel.EventRuleDescription, triggeredTime = eventMessageModel.TriggeredTime, // Machine Local Time eventSent = eventMessageModel.EventSent, messageDocumentId = eventMessageModel.MessageDocumentId, messageContent = eventMessageModel.Payload }; Document document = await docDBHelper.putDocumentAsync(eventDocument); //_consoleLog.Info("Event Document.Id={0}", document.Id); return(document.Id); }
/// <summary> /// 根据文档ID修改文档信息 /// </summary> /// <param name="DocM">文档信息</param> /// <returns>bool值</returns> public static bool UpdateDoc(DocModel DocM) { UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; LogInfoModel logModel = new LogInfoModel(); //操作日志 bool isSucc = false; //定义返回变量 #region 设置操作日志内容 //设置公司代码 logModel.CompanyCD = userInfo.CompanyCD; //设置登陆用户ID logModel.UserID = userInfo.UserID; //设置模块ID 模块ID在ConstUtil中定义,以便维护 logModel.ModuleID = ConstUtil.MODULE_ID_DOC_LIST; //操作单据编号 编号 logModel.ObjectID = DocM.DocumentNo; //操作对象 操作的表信息 logModel.ObjectName = ConstUtil.TABLE_NAME_DOC; //涉及关键元素 涉及其他业务、表关系 logModel.Element = ConstUtil.LOG_PROCESS_UPDATE; //备注 操作类型 logModel.Remark = ConstUtil.LOG_PROCESS_UPDATE; #endregion try { isSucc = DocDBHelper.UpdateDoc(DocM); } catch (System.Exception ex) { #region 操作失败时记录日志到文件 //定义变量 LogInfo logSys = new LogInfo(); //设置日志类型 需要指定为系统日志 logSys.Type = LogInfo.LogType.SYSTEM; //指定系统日志类型 出错信息 logSys.SystemKind = LogInfo.SystemLogKind.SYSTEM_ERROR; //指定登陆用户信息 logSys.UserInfo = userInfo; //设定模块ID logSys.ModuleID = ConstUtil.MODULE_ID_DOC_LIST; //描述 logSys.Description = ex.ToString(); //输出日志 LogUtil.WriteLog(logSys); #endregion } if (isSucc)//操作成功 { logModel.Remark += "成功"; } else//操作失败 { logModel.Remark += "失败"; } //记录日志 LogDBHelper.InsertLog(logModel); return(isSucc); }
/// <summary> /// 导出文档列表 /// </summary> /// <param name="DocM"></param> /// <param name="FileDateBegin"></param> /// <param name="FileDateEnd"></param> /// <param name="ord"></param> /// <returns></returns> public static DataTable ExportDoc(DocModel DocM, string FileDateBegin, string FileDateEnd, string ord) { return(DocDBHelper.ExportDoc(DocM, FileDateBegin, FileDateEnd, ord)); }
/// <summary> /// 获取文档分类 /// </summary> /// <param name="CompanyCD"></param> /// <returns></returns> public static DataTable GetDocType() { UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; return(DocDBHelper.GetDocType(userInfo.CompanyCD)); }
/// <summary> /// 根据ID获得文档详细信息 /// </summary> /// <param name="CompanyCD">公司代码</param> /// <param name="DocID">文档ID</param> /// <returns>文档信息</returns> public static DataTable GetDocByID(string CompanyCD, int DocID) { return(DocDBHelper.GetDocByID(CompanyCD, DocID)); }
/// <summary> /// 根据条件检索文档信息 /// </summary> /// <param name="DocM">文档信息</param> /// <param name="FileDateBegin">开始时间</param> /// <param name="FileDateEnd">结束时间</param> /// <returns>文档列表信息</returns> public static DataTable GetDocBycondition(DocModel DocM, string FileDateBegin, string FileDateEnd, int pageIndex, int pageCount, string ord, ref int totalCount) { return(DocDBHelper.GetDocBycondition(DocM, FileDateBegin, FileDateEnd, pageIndex, pageCount, ord, ref totalCount)); }