Пример #1
0
 public void PostGetPropertyValues(Connection connection, IEnumerable <IEntity> entities, PropertyDefinitionDictionary propDefs, PropertyValues resultValues, PropertyValueSettings settings)
 {
 }
Пример #2
0
        public void PreGetPropertyValues(Connection connection, IEnumerable <IEntity> entities, PropertyDefinitionDictionary propDefs, PropertyValues resultValues, PropertyValueSettings settings)
        {
            if (_propInsts == null)
            {
                return;
            }

            foreach (var entity in entities)
            {
                var propInstOrderFileId = _propInsts.FirstOrDefault(p => p.Val != null && p.Val.ToString() == entity.EntityIterationId.ToString() &&
                                                                    p.PropDefId == _propDefIdOrderFileId);

                if (propInstOrderFileId != null)
                {
                    var propInstOrderNumber = _propInsts.FirstOrDefault(p => p.EntityId == propInstOrderFileId.EntityId &&
                                                                        p.PropDefId == _propDefIdOrderNumber);
                    if (propInstOrderNumber != null)
                    {
                        resultValues.SetValue(new PropertyValue(entity, _orderPropertyDefinition, propInstOrderNumber.Val));
                    }
                }
            }
        }
Пример #3
0
        private void btnSync_Click(object sender, EventArgs e)
        {
            CleanAllFilesdb();
            var rootFolder = m_connection.FolderManager.RootFolder;

            string[] pathes = { rootFolder.FolderPath };


            //m_connection.FileManager.
            var foldersIds = m_connection.WebServiceManager.DocumentService.GetFolderIdsByParentIds(new long[] { 1 }, true);
            var files      = new List <File>();

            foreach (var folderid in foldersIds)
            {
                var folderfiles = m_connection.WebServiceManager.DocumentService.GetLatestFilesByFolderId(folderid, false);
                if (folderfiles != null)
                {
                    files.AddRange(folderfiles);
                }
            }
            PropertyService propertyService    = m_connection.WebServiceManager.PropertyService;
            var             allProperties      = m_connection.PropertyManager.GetPropertyDefinitions(null, null, PropertyDefinitionFilter.IncludeUserDefined);
            string          propertySystemName = string.Empty;

            foreach (var property in allProperties)
            {
                if (property.Value.DisplayName == "Document Number")
                {
                    propertySystemName = property.Value.SystemName;
                }
            }
            //var propertySystemName = "60821119-9640-4590-883a-024912c0393b";

            var propDef = m_connection.PropertyManager.GetPropertyDefinitionBySystemName(propertySystemName);

            foreach (var file in files)
            {
                var    fileIteration = new FileIteration(m_connection, file);
                var    path0         = m_connection.WorkingFoldersManager.GetPathOfFileInWorkingFolder(fileIteration).ToString();
                string path1         = "$" + path0.Substring(path0.IndexOf("Vault") + 5);
                var    path          = path1.Replace('\\', '/');

                var pvs = new PropertyValueSettings();
                var DocumentNumberValue = m_connection.PropertyManager.GetPropertyValue(fileIteration, propDef, pvs);

                var filedb = new DataLayer.Models.File()
                {
                    FullPath         = path,
                    CreatorId        = file.CreateUserId,
                    CreationDate     = file.CreateDate,
                    EditorId         = file.CheckedOut ? file.CkOutUserId : file.CreateUserId,
                    LastRevisionDate = file.CheckedOut ? file.ModDate : file.CreateDate,
                    LastRevisionID   = file.Id,
                    LastComment      = file.Comm,
                    LastState        = DataLayer.Models.FileStates.a,
                    DocumentNumber   = DocumentNumberValue != null?DocumentNumberValue.ToString() : "",
                };
                var createPersonDb = new DataLayer.Models.Person()
                {
                    PersonID = file.CreateUserId,
                    Name     = file.CreateUserName
                };
                if (db.PersonRipository.GetById(createPersonDb.PersonID) == null)
                {
                    db.PersonRipository.Insert(createPersonDb);
                    db.PersonRipository.save();
                }

                //To Modify later
                //var EditPersonDb = new DataLayer.Models.Person()
                //{
                //    PersonID = file.CkOutUserId,
                //    Name = file.cus
                //};

                db.FileRipository.Insert(filedb);
                db.FileRipository.save();
            }
            reloadGrid();
        }