public JsonResult GetRecognitionData(string versionId, string pageId, float x1, float y1, float width, float height, string lassoType, string recognitionOptions, int rotation) { Guid docVersId = new Guid(versionId); Guid docPageId = new Guid(pageId); var docClient = SvcBldr.DocumentV2(); if (lassoType.ToLower() == "ocr") { var sr = docClient.RecogniseText(new RecognisePackage { VersionId = docVersId, PageId = docPageId, Height = height, Top = y1, Left = x1, Width = width, Rotate = rotation }); return(Result(sr.Result, sr.Error, JsonRequestBehavior.AllowGet)); } else { Dictionary <string, object> settings = JsonConvert.DeserializeObject <Dictionary <string, object> >(recognitionOptions); var sr = docClient.RecogniseBarcode(new RecognisePackage { VersionId = docVersId, PageId = docPageId, Height = height, Top = y1, Left = x1, Width = width, Settings = settings }); // intentionally ignores rotation var oneString = ""; if (sr.Result != null) { oneString = string.Join(Environment.NewLine, sr.Result); } return(Result(oneString, sr.Error)); } }
private void UpdateDueDate(Guid documentVersionId, DateTime dueDate) { var docClient = SvcBldr.DocumentV2(); try { var doc = docClient.GetByVersion(documentVersionId); DC.ExceptionsML.Check(doc.Error); if (doc.Result.Version.DueDate == dueDate) { var documentSlimUpdate = new DocumentSlimUpdate { DocumentId = doc.Result.Document.Id, VersionId = doc.Result.Version.Id, ModifiedTicks = doc.Result.ModifiedTicks, DueDate = dueDate.AddHours(24).ToString() }; var update = docClient.UpdateManySlim(new[] { documentSlimUpdate }); DC.ExceptionsML.Check(update.Error); if (update.Result != null && update.Result.ResultByVerId.ContainsKey(documentVersionId)) { DC.ExceptionsML.Check(update.Result.ResultByVerId[documentVersionId].Error); } } } catch (Exception ex) { throw ex; } }
public JsonResult DeleteItemsOverride(Guid[] documentIds) { ExceptionsML bizEx = null; if (documentIds != null) { SvcBldr.Options = ServiceRequestOptions.OverrideErrors; var client = SvcBldr.DocumentV2(); SvcBldr.Options = ServiceRequestOptions.NotSet; var r = client.SoftDelete(documentIds); if (r.Error != null) { return(Result(null, r.Error)); } } return(Result(null, bizEx)); }
public JsonResult MergeDocuments(Guid[] ids) { var client = SvcBldr.DocumentV2(); var length = ids.Length; if (length > 1) { var sourceIds = new Guid[length - 1]; for (int i = 1; i < length; i++) { sourceIds[i - 1] = ids[i]; } var r = client.MergeDocuments(new MergeDocumentsPackage { DestinationDocumentId = ids[0], SourceDocumentIds = sourceIds }); return(Result(r.Result, r.Error)); } return(Result(false, null)); }
public System.Web.Mvc.ActionResult PrintDocument(string dlId) { var printModel = new PrintModel(SvcBldr); printModel.ServerURI = GetServerURI(); var array = dlId.Split('|'); if (array.Length >= 2) { string commonPath = array[0]; for (int i = 1; i < array.Length; i++) { printModel.Paths.Add(Path.Combine(commonPath, array[i])); } var docClient = SvcBldr.DocumentV2(); } return(View(printModel)); }
public JsonResult DeleteItems(Guid[] documentIds, Guid[] inboxIds, Guid[] folderIds, bool overrideErrors = false) { ExceptionsML bizEx = null; var options = SvcBldr.Options; if (overrideErrors) { SvcBldr.Options = ServiceRequestOptions.OverrideErrors; } if (inboxIds != null && inboxIds.Length != 0) { var inbox = SvcBldr.InboxV2(); var r = inbox.Delete(new InboxDeletePackage { DeleteDocuments = true, InboxIds = inboxIds }); if (r.Error != null) { if (r.Error.Type == new OverridableException().GetType().ToString()) { if (bizEx == null) { bizEx = r.Error; } else { bizEx.Message += r.Error.Message; } } else { return(Result(null, r.Error)); } } } if (folderIds != null && folderIds.Length != 0) { var folder = SvcBldr.FolderV2(); var r = folder.Delete(new FolderDeletePackage { DeleteDocuments = true, FolderIds = folderIds }); if (r.Error != null) { if (r.Error.Type == new OverridableException().GetType().ToString()) { if (bizEx == null) { bizEx = r.Error; } else { bizEx.Message += r.Error.Message; } } else { return(Result(null, r.Error)); } } } if (bizEx != null) { bizEx.Message += Environment.NewLine + Constants.i18n("continueYesNo"); return(Result(null, bizEx)); } if (documentIds != null && documentIds.Length != 0) { var client = SvcBldr.DocumentV2(); var r = client.SoftDelete(documentIds); if (r.Error != null) { return(Result(null, r.Error)); } } SvcBldr.Options = ServiceRequestOptions.NotSet; return(Result(null, null)); }
/// <summary> /// Retrieves all data required by the designer /// </summary> public JsonResult GetData() { var wfSvc = SvcBldr.WorkflowV2(); var secSvc = SvcBldr.SecurityV2(); var ibxSvc = SvcBldr.InboxV2(); var companySvc = SvcBldr.Company(); var adminSvc = SvcBldr.AdministrationV2(); var userSvc = SvcBldr.UserV2(); var dlSvc = SvcBldr.DataLinkV2(); var ctSvc = SvcBldr.ContentTypeV2(); var cfSvc = SvcBldr.CustomFieldV2(); var licSvc = SvcBldr.LicenseV2(); var docSVC = SvcBldr.DocumentV2(); var searchSvc = SvcBldr.SearchV2(); var tokens = licSvc.GetLicenseTokens(); if (tokens.Error != null) { return(Result(null, tokens.Error)); } var dbFieldsSR = searchSvc.GetFields(); if (dbFieldsSR.Error != null) { return(Result(null, dbFieldsSR.Error)); } var dbFields = dbFieldsSR.Result; var advancedWF = false; if (tokens.Result != null) { advancedWF = tokens.Result.HasTokenKey(TokenKey.AdvancedWorkflow); } var customLists = adminSvc.GetCustomListsSlim(); if (customLists.Error != null) { return(Result(null, customLists.Error)); } var userPrefsSR = userSvc.GetPreferences(); if (userPrefsSR.Error != null) { return(Result(null, userPrefsSR.Error)); } var userPrefsKVP = new Dictionary <String, String>(); var upLen = userPrefsSR.Result.Length; for (int i = 0; i < upLen; i++) { if (userPrefsKVP.ContainsKey(userPrefsSR.Result[i].Key)) { continue; } userPrefsKVP.Add(userPrefsSR.Result[i].Key, userPrefsSR.Result[i].Value); } var allTasks = TaskDesignProperties.GetAll(); var uiTasks = allTasks.Where(r => r.NeedsUserInput); var clientTasks = allTasks.Where(r => r.NeedsClientService); var autoTasks = allTasks.Where(r => !r.NeedsClientService && !r.NeedsUserInput).ToList(); var actionLibrary = wfSvc.GetActionLibrarySlim(); if (actionLibrary.Error != null) { return(Result(null, actionLibrary.Error)); } actionLibrary.Result.Append(new SlimActionLibraryItem() { Id = Guid.Empty, EffectivePermissions = (int)PermissionType.Full, Name = Constants.i18n("newTitle"), Type = (int)WFActionType.LibraryItem }); var wfNames = wfSvc.GetSlim(); if (wfNames.Error != null) { return(Result(null, wfNames.Error)); } var wfNamesWithNew = wfNames.Result.Prepend(new SlimEntity(Guid.Empty, Constants.i18n("newTitle"), PermissionType.Full)); var inboxes = ibxSvc.GetSlim(); if (inboxes.Error != null) { return(Result(null, inboxes.Error)); } var inboxNVP = inboxes.Result.ToDictionary(k => k.Id.ToString(), v => v.Name); var contentTypes = ctSvc.GetContentTypesSlim(); if (contentTypes.Error != null) { return(Result(null, contentTypes.Error)); } var ctNVP = contentTypes.Result.ToDictionary(k => k.Id.ToString(), v => v.Name); var securityClasses = secSvc.GetAllSecurityClassesSlim(); if (securityClasses.Error != null) { return(Result(null, securityClasses.Error)); } var scNVP = securityClasses.Result.ToDictionary(k => k.Id.ToString(), v => v.Name); var users = userSvc.GetAll(); if (users.Error != null) { return(Result(null, users.Error)); } var slimUsers = users.Result.Select(r => new { Id = r.Id, Username = r.Username, Flags = r.Flags, SiteUser = r.SiteUser }).ToList(); var roles = secSvc.GetAllRolesSlim(); if (roles.Error != null) { return(Result(null, roles.Error)); } var rolesNVP = roles.Result.ToDictionary(k => k.Id.ToString(), v => v.Name); var customFields = cfSvc.GetCustomFields(); if (customFields.Error != null) { return(Result(null, customFields.Error)); } var customFieldsNVP = customFields.Result.ToDictionary(k => k.Id.ToString(), v => v.Name); var cfGroupsSR = cfSvc.GetGroups(); if (cfGroupsSR.Error != null) { return(Result(null, cfGroupsSR.Error)); } var docProps = WFDocMeta.GetProperties(); var args = new Dictionary <string, WFMetaPropertyInfo> { { Constants.i18n("argSysCurrUser"), new WFMetaPropertyInfo() { Name = Argument.SystemProperty(SystemArguments.CurrentUser), ReadOnly = true, PropertyType = CFTypeCode.Object, SupportedActionType = WFActionType.SyncVerifyAction | WFActionType.AutoRun } }, { Constants.i18n("argSysNow"), new WFMetaPropertyInfo() { Name = Argument.SystemProperty(SystemArguments.Now), ReadOnly = true, PropertyType = CFTypeCode.DateTime, SupportedActionType = WFActionType.SyncVerifyAction | WFActionType.AutoRun } }, { Constants.i18n("argSysToday"), new WFMetaPropertyInfo() { Name = Argument.SystemProperty(SystemArguments.Today), ReadOnly = true, PropertyType = CFTypeCode.DateTime, SupportedActionType = WFActionType.SyncVerifyAction | WFActionType.AutoRun } }, { Constants.i18n("argSysTomorrow"), new WFMetaPropertyInfo() { Name = Argument.SystemProperty(SystemArguments.Tomorrow), ReadOnly = true, PropertyType = CFTypeCode.DateTime, SupportedActionType = WFActionType.SyncVerifyAction | WFActionType.AutoRun } }, { Constants.i18n("argDocFolder"), new WFMetaPropertyInfo() { Name = Argument.DocProperty(Argument.FOLDERS), ReadOnly = true, PropertyType = CFTypeCode.Object, SupportedActionType = WFActionType.SyncAutoRunAction } }, { Constants.i18n("argDocText"), new WFMetaPropertyInfo() { Name = Argument.DocProperty(Argument.TEXT), ReadOnly = false, PropertyType = CFTypeCode.String, Indexable = true, SupportedActionType = WFActionType.SyncVerifyAction | WFActionType.AutoRun } } }; foreach (var docProp in docProps) { args.Add(Constants.i18n("argDoc" + docProp.Name), new WFMetaPropertyInfo() { Name = Argument.DocProperty(docProp.Name), ReadOnly = docProp.ReadOnly, PropertyType = docProp.PropertyType, SupportedActionType = docProp.SupportedActionType }); } foreach (var cf in customFields.Result) { args.Add(String.Format(Constants.i18n("argDocCustomField"), cf.Name), new WFMetaPropertyInfo() { Name = Argument.DocCustomField(cf.Name), ReadOnly = false, PropertyType = cf.Type, SupportedActionType = WFActionType.SyncVerifyAction | WFActionType.AutoRun }); } var orderedArgs = args.OrderBy(r => r.Key).ToDictionary(k => k.Key, v => v.Value); var datalinks = new SR <DataLinkQueryPackage[]>(); if (!(tokens.Result != null && tokens.Result.HasTokenKey(TokenKey.DataLink))) { autoTasks.Remove(autoTasks.First(r => r.TaskClassName == "DatalinkTask")); } else { datalinks = dlSvc.GetDataLinkQueries(); if (datalinks.Error != null) { return(Result(null, datalinks.Error)); } } var recognitionOptions = docSVC.GetRecognitionOptions(); if (recognitionOptions.Error != null) { return(Result(null, recognitionOptions.Error)); } var xml = this.GetHelpXML("en"); // TRANSLATE THIS FRIGGIN KEY ;) var retObj = new { HelpXMLString = xml, BuiltInArgs = orderedArgs, ActionLibrary = actionLibrary.Result, UITasks = uiTasks, ClientTasks = clientTasks, AutoTasks = autoTasks, Workflows = wfNamesWithNew, Inboxes = inboxNVP, ContentTypes = ctNVP, CustomFields = customFieldsNVP, SecurityClasses = scNVP, Users = slimUsers, Roles = rolesNVP, AdvancedWF = advancedWF, CustomLists = customLists.Result, Datalinks = datalinks.Result, UserPreferences = userPrefsKVP, CustomFieldGroups = cfGroupsSR.Result, RecognitionOptions = recognitionOptions.Result, DatabaseFields = dbFields }; return(Result(retObj, null)); }