/// <summary> /// Получить представление видов и категорий документов. /// </summary> /// <param name="signSetting">Право подписи.</param> /// <returns>Строковое представление видов и категорий документов.</returns> private string GetDocumentKindsAndCategoriesPresentation(ISignatureSetting signSetting) { var presentation = new StringBuilder(); // Виды документов. var name = SignatureSettings.Info.Properties.DocumentKinds.LocalizedName; var documentFlowLocalizedValue = SignatureSettings.Info.Properties.DocumentFlow.GetLocalizedValue(signSetting.DocumentFlow.Value); var defaultValue = signSetting.DocumentFlow == SignatureSetting.DocumentFlow.All ? Reports.Resources.ApprovalRuleCardReport.All : Reports.Resources.ApprovalRuleCardReport.AllKindsFormat(documentFlowLocalizedValue); var items = this.FormatStringsForPresentation(signSetting.DocumentKinds.Select(x => x.DocumentKind.Name)); this.UpdateCellPresentation(ref presentation, name, items, defaultValue); // Категории договоров. if (Functions.SignatureSetting.GetPossibleCashedCategories(signSetting).Any() || signSetting.Categories.Any()) { presentation.AppendLine(string.Empty); name = SignatureSettings.Info.Properties.Categories.LocalizedName; defaultValue = Reports.Resources.ApprovalRuleCardReport.All; items = this.FormatStringsForPresentation(signSetting.Categories.Select(x => x.Category.Name)); this.UpdateCellPresentation(ref presentation, name, items, defaultValue); } return(presentation.ToString()); }
/// <summary> /// Получить представление права подписи для таблицы. /// </summary> /// <param name="signSetting">Право подписи.</param> /// <returns>Строковое представление права подписи для таблицы.</returns> private string GetDisplayValuePresentation(ISignatureSetting signSetting) { var displayValue = new StringBuilder(); displayValue.AppendFormat("<b>{0}</b>", signSetting.DisplayValue); // Добавить должность (если подписывающий сотрудник). var employee = Sungero.Company.Employees.As(signSetting.Recipient); if (employee != null && employee.JobTitle != null) { displayValue.AppendFormat(" ({0})", employee.JobTitle.Name.Trim()); } displayValue.AppendLine(); // Основание. displayValue.AppendLine(); displayValue.AppendLine(string.Format("{0}: {1}", SignatureSettings.Info.Properties.Reason.LocalizedName, SignatureSettings.Info.Properties.Reason.GetLocalizedValue(signSetting.Reason))); // Приоритет. displayValue.AppendLine(); displayValue.AppendLine(string.Format("{0}: {1}", SignatureSettings.Info.Properties.Priority.LocalizedName, signSetting.Priority ?? 0)); return(displayValue.ToString()); }
/// <summary> /// Получить представление НОР и подразделений права подписи. /// </summary> /// <param name="signSetting">Право подписи.</param> /// <returns>Строковой представление НОР и подразделений права подписи.</returns> private string GetBusinessUnitsAndDepartmentsPresentation(ISignatureSetting signSetting) { var presentation = new StringBuilder(); var defaultValue = Reports.Resources.ApprovalRuleCardReport.All; // Наши организации. var name = SignatureSettings.Info.Properties.BusinessUnits.LocalizedName; var items = this.FormatStringsForPresentation(signSetting.BusinessUnits.Select(x => x.BusinessUnit.Name)); this.UpdateCellPresentation(ref presentation, name, items, defaultValue); // Подразделения. presentation.AppendLine(); name = SignatureSettings.Info.Properties.Departments.LocalizedName; items = this.FormatStringsForPresentation(signSetting.Departments.Select(x => x.Department.Name)); this.UpdateCellPresentation(ref presentation, name, items, defaultValue); return(presentation.ToString()); }