private string findFolder(string parentFolderId, string folderName) { if (string.IsNullOrEmpty(folderName) || string.IsNullOrEmpty(parentFolderId)) { return(null); } try { const string FOLDER_CARD_TYPE = "{DA86FABF-4DD7-4A86-B6FF-C58C24D12DE2}"; FolderCard folderCard = (FolderCard)Session.CardManager.GetDictionary(new Guid(FOLDER_CARD_TYPE)); Folder rootFolder = folderCard.GetFolder(new Guid(parentFolderId.ToString())); if (rootFolder != null) { foreach (var item in rootFolder.Folders.Where(s => s.Name.ToLower() == folderName.ToLower())) { return(item.Id.ToString()); } } return(null); } catch { return(null); } return(null); }
private void CardControl_CardClosed(Object sender, EventArgs e) { try { /* Отвязка методов */ ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.Marketing].ItemClick -= Marketing_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.CreateAccountCard].ItemClick -= CreateAccountCard_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.Revoke].ItemClick -= Revoke_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.Calibrate].ItemClick -= Calibrate_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.PrintDeliveryAct].ItemClick -= PrintDeliveryAct_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.PrintAcceptanceAct].ItemClick -= PrintAcceptanceAct_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.Calculation].ItemClick -= Calculation_ItemClick; ICardControl.RibbonControl.Items[RefApplicationCard.RibbonItems.ShowClientInfo].ItemClick -= ShowClientInfo_ItemClick; CardScript.CardControl.Saving -= CardControl_Saving; CardScript.CardControl.Saved -= CardControl_Saved; CardScript.CardControl.CardClosed -= CardControl_CardClosed; if (FolderCard.GetShortcuts(CardScript.CardData.Id).Count == 0) { try { CardScript.ReleaseNumber(CurrentNumerator.NumericPart); } catch { WriteLog("Не удалось освободить номер!"); } } } catch (Exception Ex) { CallError(Ex); } }
public DocsVisionFilesHelper(UserSession userSession /*, Logger logger*/) { //this.logger = logger; this.rootFolderGuid = ConfigurationManager.AppSettings["RootFolderGuid"]; this.Session = userSession; folderCard = (FolderCard)Session.CardManager.GetDictionary(new Guid(FOLDER_CARD_TYPE)); setupFoldersDelegate(); }
private bool setRightsFoFolder(RowData newEmployeeDocsvision, string folderId) { if (folderId != null) { CardData refStaffData = Session.CardManager.GetDictionaryData(RefStaff.ID); SectionData unitsSection = refStaffData.Sections[RefStaff.Units.ID]; //Права var accountName = newEmployeeDocsvision.GetString(RefStaff.Employees.AccountName); if (string.IsNullOrEmpty(accountName)) { return(false); } var profileCardId = Session.ProfileManager.GetProfileId(accountName); var profileCard = (UserProfileCard)Session.CardManager.GetCard(profileCardId); if (profileCard.DefaultFolderId == new Guid(folderId)) { return(false); } profileCard.DefaultFolderId = new Guid(folderId); var employee = objectContext.GetObject <StaffEmployee>(newEmployeeDocsvision.Id); if (employee.PersonalFolder == null) { return(false); } var staffService = objectContext.GetService <IStaffService>(); staffService.SetFoldersRights(employee.PersonalFolder, employee.AccountName); //logger.Info("Права на папку созданы."); //Ограничения FolderCard folderCard = (FolderCard)Session.CardManager.GetDictionary(new Guid("DA86FABF-4DD7-4A86-B6FF-C58C24D12DE2")); Folder folder = folderCard.GetFolder(new Guid(folderId.ToString())); if ((folder.Restrictions & FolderRestrictions.Types) == 0) { folder.Restrictions |= FolderRestrictions.Types; } //logger.Info("Ограничения на папку созданы."); //Разрешения if ((folder.Restrictions & FolderRestrictions.Types) == 0) { folder.Restrictions = folder.Restrictions | FolderRestrictions.Types; folder.AllowedCardTypes.AddNew(new Guid("6D76D0A7-5434-40F2-912E-6370D33C3151")); } } return(true); }
public static Boolean DeleteCard(UserSession Session, String CardID) { logger.Info("cardId='{0}'", CardID); using (new Impersonator(ServerExtension.Domain, ServerExtension.User, ServerExtension.SecurePassword)) { FolderCard FolderCard = (FolderCard)Session.CardManager.GetDictionary(FoldersCard.ID); CardData UniversalCard = Session.CardManager.GetDictionaryData(RefUniversal.ID); CardData Card = Session.CardManager.GetCardData(new Guid(CardID)); Card.UnlockCard(); ExtraCard Extra = Card.GetExtraCard(); Guid? RegItemId = null; String DirectoryPath = null; if (Extra != null) { RegItemId = Extra.RegID; DirectoryPath = Extra.Path; logger.Info("Запись в реестре='{0}'", RegItemId.HasValue ? RegItemId.Value.ToString() : "NULL"); logger.Info("Путь в архиве='{0}'", DirectoryPath); /* Удаление карточки */ FolderCard.DeleteCard(Card.Id, true); logger.Info("Карточка удалена!"); /* Удаление записи в реестре */ if (RegItemId.HasValue) { RowData ItemRow = UniversalCard.GetItemRow(RegItemId.Value); if (ItemRow != null) { UniversalCard.Sections[RefUniversal.Item.ID].DeleteRow(ItemRow.Id); logger.Info("Запись в реестре тех.док. удалена"); } else { logger.Info("Запись в реестре тех.док. не найдена"); } } /* Удаление папки в архиве */ if (!String.IsNullOrEmpty(DirectoryPath)) { var di = new DirectoryInfo(DirectoryPath); if (di.Exists) { if (di.FullName.Length > 20) { di.Delete(true); logger.Info("Папка удалена!"); } else { logger.Warn("В карточке '{0}' некорректный путь '{1}'", Card.Id, DirectoryPath); } } else { logger.Info("Папка не существует!"); } } return(true); } else { logger.Warn("Не верный тип карточки!"); return(false); } } }
/// <summary> /// Инициализирует папку заданными значениями. /// </summary> /// <param name="Device">Прибор.</param> /// <param name="CodeID">ID кода СКБ.</param> /// <param name="CodeName">Отобразаемое значение кода СКБ.</param> /// <param name="DocumentID">ID документа.</param> /// <param name="DocumentName">Название документа.</param> /// <param name="FolderID">ID папки.</param> public DocumentsFolder(Folder ParentFolder, CardData Document, SavedSearchGroup SearchGroup, SavedView View, FolderCard FolderCard) { this.ParentFolder = ParentFolder; this.Document = Document; DocumentID = Document.Id; SectionData Properties = Document.Sections[CardOrd.Properties.ID]; DocumentType = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.FileType + "'").GetString("Value"); RowData Code = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.Code + "'"); CodeID = Code.GetGuid("Value").Value; CodeName = Code.GetString("DisplayValue"); RowData Applicable = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.Applicable + "'"); Applicability = Applicable.GetString("DisplayValue"); RowData Name = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.DocumentName + "'"); string ShortType = DocumentType == "СД - Спецификация (не платы)" || DocumentType == "СП - Спецификация платы" ? "" : DocumentType.Remove(DocumentType.IndexOf(" - ")); DocumentName = CodeName + " " + ShortType + " " + Name.GetString("Value"); Folder = FolderCard.CreateFolder(ParentFolder.Id, DocumentName); Folder.Type = FolderTypes.Virtual; if (!SearchGroup.Queries.Any(row => row.Name == DocumentName)) { SearchQuery Query = FolderCard.Session.CreateSearchQuery(); CardTypeQuery CardType = Query.AttributiveSearch.CardTypeQueries.AddNew(CardOrd.ID); SectionQuery Section = CardType.SectionQueries.AddNew(CardOrd.MainInfo.ID); Section.Operation = SectionQueryOperation.And; Section.ConditionGroup.Operation = ConditionGroupOperation.And; Section.ConditionGroup.Conditions.AddNew(CardOrd.MainInfo.Type, FieldType.RefId, ConditionOperation.Equals, MyHelper.RefType_CD); Section = CardType.SectionQueries.AddNew(CardOrd.Properties.ID); Section.Operation = SectionQueryOperation.And; Section.ConditionGroup.Operation = ConditionGroupOperation.And; Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Value, FieldType.Unistring, ConditionOperation.Equals, DocumentType); Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Name, FieldType.Unistring, ConditionOperation.Equals, RefPropertiesCD.Requisities.FileType); Section = CardType.SectionQueries.AddNew(CardOrd.Properties.ID); Section.Operation = SectionQueryOperation.And; Section.ConditionGroup.Operation = ConditionGroupOperation.And; Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Value, FieldType.RefId, ConditionOperation.Equals, CodeID); Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Name, FieldType.Unistring, ConditionOperation.Equals, RefPropertiesCD.Requisities.Code); Query.Limit = 0; SearchGroup.Queries.AddNew(DocumentName).Import(Query); } SavedSearchQuery SavedQuery = SearchGroup.Queries.First(row => row.Name == DocumentName); Folder.RefId = SavedQuery.Id; Folder.CurrentViewId = View.Id; Folder.DefaultViewId = View.Id; }