public MicrostationResources(SignaturesSearching signaturesSearching, string signatureMicrostationFileName, string stampMicrostationFileName) : base(signaturesSearching) { SignatureMicrostationFileName = signatureMicrostationFileName; StampMicrostationFileName = stampMicrostationFileName; }
/// <summary> /// Зарегистрировать зависимости /// </summary> public static void ConfigureContainer(IUnityContainer container, string signatureFolder) { container.RegisterSingleton <IProjectSignatureSettings, ProjectSignatureSettings>(); container.RegisterType <ISignaturesToJpeg, SignaturesUpload>(); container.RegisterType <IConverterDataFileFromDto, ConverterDataFileFromDto>(); container.RegisterType <ISignatureConverter, SignatureConverter>(); container.RegisterType <IMessagingService, MessagingService>(); container.RegisterType <IFilePathOperations, FilePathOperations>(); container.RegisterType <IFileSystemOperations, FileSystemOperations>(); GadzhiConvertingLibrary.DependencyInjection.BootStrapUnity.RegisterServices(container); var wcfServerServicesFactory = container.Resolve <IWcfServerServicesFactory>(); var signatureConverter = container.Resolve <ISignatureConverter>(); var signaturesLibrarySearching = new SignaturesSearching(Enumerable.Empty <ISignatureLibraryApp>(), SignaturesFunctionSync.GetSignaturesSync(wcfServerServicesFactory.SignatureServerServiceFactory, signatureConverter, signatureFolder)); container.RegisterFactory <IApplicationMicrostation>(unity => { var projectSignatureSettings = unity.Resolve <IProjectSignatureSettings>(); return(new ApplicationMicrostation(new MicrostationResources(signaturesLibrarySearching, projectSignatureSettings.SignatureMicrostationFileName, projectSignatureSettings.StampMicrostationFileName))); }); }
protected SignatureCreating(SignaturesSearching signaturesSearching, string personId, bool useDefaultSignature) { UseDefaultSignature = useDefaultSignature; SignaturesSearching = signaturesSearching ?? throw new ArgumentNullException(nameof(signaturesSearching)); PersonId = personId ?? throw new ArgumentNullException(nameof(personId)); UseDefaultSignature = useDefaultSignature; }
/// <summary> /// Сформировать строку с подписью согласования согласно идентификатору Microstation /// </summary> private IResultAppValue <IStampApproval> GetStampApprovalById(IStampTextFieldMicrostation responsiblePerson, Func <ISignatureLibraryApp, IResultAppValue <IStampFieldMicrostation> > insertSignatureFunc, IStampTextField actionType, IStampTextField dateSignature) => SignaturesSearching.FindByIdOrFullNameOrRandom(responsiblePerson.ElementStamp.AttributePersonId, responsiblePerson.MaxLengthWord, PersonId). ResultValueOk(personSignature => new ApprovalSignatureMicrostation(personSignature, _stampIdentifier, insertSignatureFunc, actionType, responsiblePerson, dateSignature));
/// <summary> /// Найти подпись в базе и вставить /// </summary> private IResultAppValue <IStampSignature> SearchSignatureToInsert(IStampSignature signature) => SignaturesSearching. FindByIdOrFullNameOrRandom(signature.SignatureLibrary.PersonId, signature.SignatureLibrary.PersonInformation.FullName, StampSettings.PersonId). ResultValueOk(signatureLibrary => new SignatureFileApp(signatureLibrary.PersonId, signatureLibrary.PersonInformation, String.Empty, signature.IsVertical)). ResultValueOk(signature.InsertSignature);
protected StampWord(StampSettingsWord stampSettingsWord, SignaturesSearching signaturesSearching, ITableElementWord tableStamp) : base(stampSettingsWord, signaturesSearching) { TableStamp = tableStamp; PaperSize = stampSettingsWord.PaperSize; Orientation = stampSettingsWord.Orientation; }
public StampFullWord(StampSettingsWord stampSettingsWord, SignaturesSearching signaturesSearching, ITableElementWord tableStamp, IResultAppValue <ITableElementWord> tableApprovalPerformers, IResultAppValue <ITableElementWord> tableApprovalChief) : base(stampSettingsWord, signaturesSearching, tableStamp) { TableApprovalPerformers = tableApprovalPerformers ?? throw new ArgumentNullException(nameof(tableApprovalPerformers)); TableApprovalChief = tableApprovalChief ?? throw new ArgumentNullException(nameof(tableApprovalChief)); }
/// <summary> /// Получить информацию об ответственном лице по имени /// </summary> private IResultAppValue <ISignatureLibraryApp> GetSignatureInformation(string personName, string personId, PersonDepartmentType personDepartmentType, string actionType) => new ResultAppValue <ISignatureLibraryApp>(SignaturesSearching.FindById(personId), new ErrorApplication(ErrorApplicationType.SignatureNotFound, $"Подпись {personName} не найдена")). ResultValueOk(signature => signature.PersonInformation.DepartmentType). ResultValueOk(departmentType => SignaturesSearching.CheckDepartmentAccordingToType(departmentType, personDepartmentType)). ResultValueOkBind(departmentChecked => SignaturesSearching.FindByFullNameOrRandom(personName, departmentChecked)). ResultValueOk(personAttributeId => SignaturesActionType.GetPersonIdByActionType(personAttributeId.PersonId, UseDefaultSignature, PersonId, actionType)). ResultValueOk(personCheckedId => SignaturesSearching.FindById(personCheckedId));
/// <summary> /// Получить элементы подписей из базы по их идентификационным номерам /// </summary> private IResultAppCollection <IStampSignature> GetStampSignaturesByIds(IList <IStampSignature> stampSignatures) => new ResultAppCollection <IStampSignature>(stampSignatures). ResultValueOk(_ => stampSignatures.Select(signatureStamp => new SignatureFileRequest(signatureStamp.SignatureLibrary.PersonId, signatureStamp.IsVertical))). ResultValueOkBind(personIds => SignaturesSearching.GetSignaturesByIds(personIds)). ResultValueContinue(signaturesFile => signaturesFile.Count == stampSignatures.Count, okFunc: signaturesFile => signaturesFile, badFunc: signaturesFile => new ErrorApplication(ErrorApplicationType.SignatureNotFound, "Количество подписей в файле не совпадает с загруженным из базы данных")). ResultValueOk(signaturesFile => stampSignatures.Zip(signaturesFile, (signatureStamp, signatureFile) => signatureStamp.InsertSignature(signatureFile))). ToResultCollection();
public SignatureCreatingWord(ITableElementWord tableStamp, StampIdentifier stampIdentifier, IResultAppValue <ITableElementWord> tableApprovalPerformers, IResultAppValue <ITableElementWord> tableApprovalChief, IStampFieldsWord stampFieldsWord, StampDocumentType stampDocumentType, SignaturesSearching signaturesSearching, string personId, bool useDefaultSignature) : base(signaturesSearching, personId, useDefaultSignature) { _tableStamp = tableStamp ?? throw new ArgumentNullException(nameof(tableStamp)); _stampIdentifier = stampIdentifier; _tableApprovalPerformers = tableApprovalPerformers ?? throw new ArgumentNullException(nameof(tableApprovalPerformers)); _tableApprovalChief = tableApprovalChief ?? throw new ArgumentNullException(nameof(tableApprovalChief)); _stampFieldsWord = stampFieldsWord ?? throw new ArgumentNullException(nameof(stampFieldsWord)); _stampDocumentType = stampDocumentType; }
private static void RegisterConvertingApplications(IUnityContainer container) { var signatureConverter = container.Resolve <ISignatureConverter>(); var projectSettings = container.Resolve <IProjectSettings>(); var convertingResources = projectSettings.ConvertingResources; var signaturesLibrarySearching = new SignaturesSearching(convertingResources.SignatureNames.Value.ToApplication(), SignaturesFunctionSync.GetSignaturesSync(convertingResources.SignatureNames, signatureConverter, ProjectSettings.DataSignaturesFolder)); container.RegisterFactory <IApplicationLibrary <IDocumentMicrostation> >(nameof(ApplicationMicrostation), unity => new ApplicationMicrostation(new MicrostationResources(signaturesLibrarySearching, convertingResources.SignaturesMicrostation.Value, convertingResources.StampMicrostation.Value))); container.RegisterFactory <IApplicationLibrary <IDocumentWord> >(nameof(ApplicationOffice), unity => new ApplicationOffice(new ResourcesWord(signaturesLibrarySearching))); }
protected Stamp(StampSettings stampSettings, SignaturesSearching signaturesSearching) { StampSettings = stampSettings ?? throw new ArgumentNullException(nameof(stampSettings)); SignaturesSearching = signaturesSearching ?? throw new ArgumentNullException(nameof(signaturesSearching)); }
protected StampMicrostation(StampSettings stampSettings, ICellElementMicrostation stampCellElement, SignaturesSearching signaturesSearching) : base(stampSettings, signaturesSearching) { StampCellElement = stampCellElement ?? throw new ArgumentNullException(nameof(stampCellElement)); }
/// <summary> /// Выбрать главный штамп /// </summary> public static IStamp GetMainStamp(StampType stampType, ITableElementWord tableWord, StampSettingsWord stampSettings, SignaturesSearching signaturesSearching, IReadOnlyList <ITableElementWord> tables) => stampType switch {
public ResourcesWord(SignaturesSearching signaturesSearching) : base(signaturesSearching) { }
public StampShortWord(StampSettingsWord stampSettingsWord, SignaturesSearching signaturesSearching, ITableElementWord tableStamp, ISignatureLibraryApp personShortSignature) : base(stampSettingsWord, signaturesSearching, tableStamp) { _personShortSignature = personShortSignature ?? throw new ArgumentNullException(nameof(personShortSignature)); }
public StampFullMicrostation(ICellElementMicrostation stampCellElement, StampSettings stampSettings, SignaturesSearching signaturesSearching) : base(stampSettings, stampCellElement, signaturesSearching) { }
/// <summary> /// Получить стандартную подпись при отсутствии основных строк /// </summary> private ISignatureLibraryApp GetPersonSignature(IResultAppCollection <IStampPerson> personRows) => personRows.Value?.FirstOrDefault()?.SignatureLibrary ?? SignaturesSearching.FindById(StampSettings.PersonId);
public StampChangeWord(StampSettingsWord stampSettingsWord, SignaturesSearching signaturesSearching, ITableElementWord tableStamp, IResultAppValue <IStampTextField> fullCode) : base(stampSettingsWord, signaturesSearching, tableStamp) { _fullcode = fullCode ?? throw new ArgumentNullException(nameof(fullCode)); }
protected ResourcesApplication(SignaturesSearching signaturesSearching) { SignaturesSearching = signaturesSearching ?? throw new ArgumentNullException(nameof(signaturesSearching)); }
public SignatureCreatingMicrostation(IStampFieldsMicrostation stampFields, StampIdentifier stampIdentifier, InsertSignatureFunc insertSignatureByFields, SignaturesSearching signaturesSearching, string personId, bool useDefaultSignature) : base(signaturesSearching, personId, useDefaultSignature) { _stampFields = stampFields ?? throw new ArgumentNullException(nameof(stampFields)); _stampIdentifier = stampIdentifier; _insertSignatureByFields = insertSignatureByFields ?? throw new ArgumentNullException(nameof(insertSignatureByFields)); }
/// <summary> /// Получить класс с ответственным лицом и подписью по строке Word для строк согласования тех требований с директорами /// </summary> private IResultAppValue <IStampApprovalChief> GetStampApprovalChiefFromRow(IRowElementWord approvalChiefRow) => ConverterDepartmentTypeApp.DepartmentParsing(approvalChiefRow.CellsElement[ApprovalChiefRowIndexes.DEPARTMENT].Text). Map(departmentType => SignaturesSearching.FindByFullNameOrRandom(approvalChiefRow.CellsElement[ApprovalChiefRowIndexes.RESPONSIBLE_PERSON].MaxLengthWord, departmentType)). ResultValueOk(signature => GetStampApprovalChiefFromFields(approvalChiefRow, signature, _stampIdentifier));