Esempio n. 1
0
        public Task <IEnumerable <DmsNode> > GetFolderContent(string username, string id, bool isRoot)
        {
            var result = isRoot ? DmsConnectorProperty.GetFilesystem(SubjectTypes.Folder)
              : DmsConnectorProperty.GetFilesystem(SubjectTypes.Folder, id);

            return(Task.FromResult(result));
        }
Esempio n. 2
0
        private void UpdateCustomerStatus(Guid cabinetId, string customerStatus, Guid nodeId)
        {
            var fileSystems = DmsConnectorProperty.Search(SearchFieldType.ByNodeID, nodeId.ToString()).DmsFilesystem;

            if (fileSystems != null && fileSystems.Any())
            {
                var file             = fileSystems.First();
                var dokmeeIndexInfos = file.IndexFieldPairCollection;
                if (dokmeeIndexInfos != null && dokmeeIndexInfos.Any())
                {
                    var listIndexes = DmsConnectorProperty.GetCabinetIndexInfoByID(cabinetId);
                    var statusIndex = dokmeeIndexInfos.FirstOrDefault(x => x.IndexName.ToUpper() == _configurationService.DocumentStatusIndex.ToUpper());
                    if (statusIndex != null)
                    {
                        statusIndex.IndexValue = customerStatus;
                        IEnumerable <DokmeeIndex> dokmeeIndexes = dokmeeIndexInfos.Select(x => new DokmeeIndex
                        {
                            DokmeeIndexID = x.IndexFieldGuid,
                            Name          = x.IndexName,
                            Value         = x.IndexValue,
                            SortOrder     = x.SortOrder,
                            CabinetID     = cabinetId
                        });
                        DmsConnectorProperty.UpdateIndex(nodeId, dokmeeIndexes);
                    }
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Move files to Temp Folder
        /// </summary>
        /// <param name="username"></param>
        /// <param name="args"></param>
        /// <param name="tempFolder"></param>
        public void Complete(string username, Dictionary <object, object> args, string tempFolder, string cabinetIdTemp)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }

            UserLogin user = _tempDbService.GetUserLogin(username);
            IEnumerable <DokmeeFilesystem> results = new List <DokmeeFilesystem>();
            Guid cabinetId = Guid.Empty;

            if (!string.IsNullOrEmpty(cabinetIdTemp) && Guid.TryParse(cabinetIdTemp, out cabinetId))
            {
                DmsConnectorProperty.RegisterCabinet(cabinetId);
            }

            var status = args["NodeId"].ToString().Split(';');

            if (status.Length > 0)
            {
                foreach (var noteIdTemp in status)
                {
                    Guid nodeId = Guid.Empty;
                    if (!string.IsNullOrEmpty(noteIdTemp) && Guid.TryParse(noteIdTemp, out nodeId))
                    {
                        //update status to Complete
                        var customerStatus = "Complete";
                        UpdateCustomerStatus(cabinetId, customerStatus, nodeId);
                    }

                    //if (!string.IsNullOrEmpty(noteIdTemp) && Guid.TryParse(noteIdTemp, out nodeId))
                    //{
                    //	var folders = DmsConnectorProperty.GetFsNodesByName(SubjectTypes.Folder, tempFolder);
                    //	if (folders != null && folders.ToList().Count == 1)
                    //	{
                    //		var folder = folders.First();
                    //		DmsConnectorProperty.MoveFile(noteIdTemp, folder.ID.ToString());
                    //		//update status to Complete
                    //		var customerStatus = "Complete";
                    //		UpdateCustomerStatus(cabinetId, customerStatus, nodeId);
                    //	}
                    //	else
                    //	{
                    //		throw new Exception("Cant find folder name " + tempFolder + " to move selected file!");
                    //	}
                    //}
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Get all Cabinet Indexes
        /// </summary>
        /// <param name="username"></param>
        /// <param name="cabinetId"></param>
        /// <returns></returns>
        public IEnumerable <DokmeeIndex> GetCabinetIndexes(string username, string cabinetId)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }

            IEnumerable <DokmeeIndex> results = new List <DokmeeIndex>();
            Guid id = Guid.Empty;

            if (!string.IsNullOrEmpty(cabinetId) && Guid.TryParse(cabinetId, out id))
            {
                DmsConnectorProperty.RegisterCabinet(id);
                results = DmsConnectorProperty.GetCabinetIndexInfoByID(id);
            }
            return(results);
        }
Esempio n. 5
0
        public IEnumerable <DmsNode> GetCabinetContent(string cabinetId, string username)
        {
            if (string.IsNullOrWhiteSpace(cabinetId))
            {
                throw new ArgumentException("cabinetId is null or empty");
            }

            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }

            DmsConnectorProperty.RegisterCabinet(new Guid(cabinetId));
            IEnumerable <DmsNode> dmsNodes = DmsConnectorProperty.GetFsNodesByName();

            return(dmsNodes);
        }
Esempio n. 6
0
        public string Preview(string username, string id, string cabinetId)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }

            DmsConnectorProperty.RegisterCabinet(new Guid(cabinetId));
            string url = DmsConnectorProperty.ViewFile(id);
            //string machineName = HttpContext.Current.Request.Url.Host;
            string machineName = GetIPAddress();
            string localhost   = "localhost";

            if (url.Contains(localhost))
            {
                url = url.Replace(localhost, machineName);
            }
            return(url);
        }
Esempio n. 7
0
        /// <summary>
        /// Search File System by Index
        /// </summary>
        /// <param name="fieldName"></param>
        /// <param name="searchValue"></param>
        /// <param name="cabinetId"></param>
        /// <returns></returns>
        public IEnumerable <DokmeeFilesystem> Search(string username, string fieldName, string searchValue, string cabinetId, SearchFieldType indexFieldType)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }

            IEnumerable <DokmeeFilesystem> results = new List <DokmeeFilesystem>();
            Guid id = Guid.Empty;

            if (!string.IsNullOrEmpty(cabinetId) && Guid.TryParse(cabinetId, out id))
            {
                DmsConnectorProperty.RegisterCabinet(id);
                if (DateTime.TryParse(searchValue, out DateTime conditionIndexValue))
                {
                    searchValue = conditionIndexValue.ToString("yyyy/MMM/dd");
                }
                var lookupResults = DmsConnectorProperty.Search(indexFieldType, searchValue, fieldName);
                results = lookupResults.DmsFilesystem;
            }
            return(results);
        }
Esempio n. 8
0
        public void UpdateIndex(string username, Dictionary <object, object> args)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }
            UserLogin user = _tempDbService.GetUserLogin(username);
            IEnumerable <DokmeeFilesystem> results = new List <DokmeeFilesystem>();
            var  cabinetIdTemp = _userService.GetCurrentCabinetId();
            Guid cabinetId     = Guid.Empty;

            if (!string.IsNullOrEmpty(cabinetIdTemp) && Guid.TryParse(cabinetIdTemp, out cabinetId))
            {
                DmsConnectorProperty.RegisterCabinet(cabinetId);
            }

            var status = args["CustomerStatus"].ToString().Split(';');

            if (status.Length > 0)
            {
                foreach (var item in status)
                {
                    var info = item.Split(':');
                    if (info.Length == 2)
                    {
                        var  nodeIdTemp     = info[0].Trim();
                        var  customerStatus = info[1].Trim();
                        Guid nodeId         = Guid.Empty;
                        if (!string.IsNullOrEmpty(nodeIdTemp) && Guid.TryParse(nodeIdTemp, out nodeId))
                        {
                            UpdateCustomerStatus(cabinetId, customerStatus, nodeId);
                        }
                    }
                }
            }
        }
Esempio n. 9
0
        public IEnumerable <DokmeeFilesystem> GetDokmeeFilesystems(string username, string name, bool isFolder, string cabinetId)
        {
            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ArgumentException("username is null or empty");
            }

            IEnumerable <DokmeeFilesystem> results = new List <DokmeeFilesystem>();
            Guid id = Guid.Empty;

            if (!string.IsNullOrEmpty(cabinetId) && Guid.TryParse(cabinetId, out id))
            {
                DmsConnectorProperty.RegisterCabinet(id);
                if (isFolder)
                {
                    results = DmsConnectorProperty.Search(SearchFieldType.TextIndex, name, "Folder Title").DmsFilesystem;
                }
                else
                {
                    try
                    {
                        var nodes = DmsConnectorProperty.GetFsNodesByName(SubjectTypes.Document, name);
                        if (nodes != null && nodes.Any())
                        {
                            var nodeId = nodes.First()?.ID.ToString();
                            if (!string.IsNullOrEmpty(nodeId))
                            {
                                results = DmsConnectorProperty.Search(SearchFieldType.ByNodeID, nodeId).DmsFilesystem;
                            }
                        }
                    }
                    catch { }
                }
            }
            return(results);
        }