public static FormTemplateEntity GetTemplateRecord(string userKey, string templateName) { var partitionKey = userKey.ToLowerInvariant(); var rowKey = FormTemplateEntity.NormalizeName(templateName); return(QueryRecord <FormTemplateEntity>(GetTemplatesTable(), partitionKey, rowKey)); }
/// <summary> /// Method to delete template table entity. /// </summary> /// <param name="template">Entity to delete.</param> /// <returns></returns> public static async Task DeleteTemplateEntity(FormTemplateEntity template) { if (template == null) { return; } var templateTable = GetTemplatesTable(); if (templateTable == null) { return; } await templateTable.ExecuteAsync(TableOperation.Delete(template)); }
private static void ValidateVersion(string version, FormTemplateEntity existingRecord, out string oldVersion, out bool canUpload) { canUpload = true; oldVersion = null; if (existingRecord == null) { return; } var versionObj = new Version(version); var currentVersion = new Version(existingRecord.CurrentVersion); oldVersion = existingRecord.CurrentVersion; if ((versionObj == currentVersion) || (versionObj < currentVersion)) { canUpload = false; } }
private static async Task AddRecords(string userKey, DateTime uploadDate, string templateName, string version, string templateId, string currentInstanceId, string manifestFileName, string templateFileName, string originalFileName) { var table = GetTemplatesTable(); await table.CreateIfNotExistsAsync(); var templateEntity = new FormTemplateEntity(userKey, templateName) { TemplateId = templateId, CurrentInstanceId = currentInstanceId, CurrentVersion = version }; var tableOperation = TableOperation.InsertOrReplace(templateEntity); await table.ExecuteAsync(tableOperation); var instancesTable = GetTemplateInstancesTable(); await instancesTable.CreateIfNotExistsAsync(); var instanceEntity = new FormTemplateInstanceEntity(templateId, currentInstanceId) { Version = version, Uploaded = uploadDate, ManifestFileName = manifestFileName, TemplateFileName = templateFileName, XsnOrginalFileName = originalFileName }; var instanceOperation = TableOperation.InsertOrReplace(instanceEntity); await instancesTable.ExecuteAsync(instanceOperation); }