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)); }
protected SignatureMicrostation(ISignatureLibraryApp signatureLibrary, StampIdentifier stampIdentifier, IResultAppValue <IStampFieldMicrostation> signature, Func <ISignatureLibraryApp, IResultAppValue <IStampFieldMicrostation> > insertSignatureFunc) : base(signatureLibrary, stampIdentifier) { _signature = signature ?? throw new ArgumentNullException(nameof(signature)); InsertSignatureFunc = insertSignatureFunc ?? throw new ArgumentNullException(nameof(insertSignatureFunc)); }
/// <summary> /// Добавить ответ со значением /// </summary> public IResultAppCollection <T> ConcatResultValue(IResultAppValue <T> resultValue) => resultValue != null ? new ResultAppCollection <T>(resultValue.Value != null ? Value.Concat(new List <T>() { resultValue.Value }) : Value, Errors.Union(resultValue.Errors)) : throw new ArgumentNullException(nameof(resultValue));
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; }
/// <summary> /// Получить сохраненные подписи /// </summary> private static IResultAppCollection <ISignatureFileApp> GetSignaturesFileApp(IResultAppValue <IReadOnlyCollection <ISignatureFileData> > signatures, IList <SignatureFileRequest> signaturesFileRequest, ISignatureConverter signatureConverter, string signatureFolder) => signatures. ResultValueOk(signaturesFileData => signaturesFileRequest. Join(signaturesFileData, signatureFileRequest => signatureFileRequest.PersonId, signatureFileData => signatureFileData.PersonId, (signatureFileRequest, signatureFileData) => RotateSignature(signatureFileData, signatureFileRequest))). ResultValueOkBind(signaturesFileData => signatureConverter.ToSignaturesFile(signaturesFileData, signatureFolder). ResultValueOk(signatureFiles => signatureFiles.ToApplication()). ToResultValueApplication()). ToResultCollection();
/// <summary> /// Выполнить действие при положительном условии, вернуть результирующий ответ /// </summary> public static IResultAppValue <TValue> ResultVoidOk <TValue>(this IResultAppValue <TValue> @this, Action <TValue> action) { if (action == null) { throw new ArgumentNullException(nameof(action)); } if (@this?.OkStatus == true) { action.Invoke(@this.Value); } return(@this); }
public StampBasicFields(IResultAppValue <IStampTextField> fullCode, IResultAppValue <IStampTextField> currentSheet) { if (fullCode == null) { throw new ArgumentNullException(nameof(fullCode)); } if (currentSheet == null) { throw new ArgumentNullException(nameof(currentSheet)); } FullCode = GetValidFullCode(fullCode); CurrentSheet = GetValidCurrentNumber(currentSheet); }
/// <summary> /// Выполнение негативного условия результирующего ответа или возвращение положительного в результирующем ответе /// </summary> public static IResultAppValue <TValue> ResultValueBadBind <TValue>(this IResultAppValue <TValue> @this, Func <TValue, IResultAppValue <TValue> > badFunc) { if (badFunc == null) { throw new ArgumentNullException(nameof(badFunc)); } if (@this == null) { throw new ArgumentNullException(nameof(@this)); } return(@this.OkStatus ? @this : badFunc.Invoke(@this.Value)); }
/// <summary> /// Выполнение негативного условия или возвращение положительного условия в результирующем ответе /// </summary> public static IResultAppValue <TValue> ResultValueBad <TValue>(this IResultAppValue <TValue> @this, Func <TValue, TValue> badFunc) { if (badFunc == null) { throw new ArgumentNullException(nameof(badFunc)); } if (@this == null) { throw new ArgumentNullException(nameof(@this)); } if (@this.OkStatus) { return(@this); } return(badFunc.Invoke(@this.Value). Map(badResult => new ResultAppValue <TValue>(badResult))); }
/// <summary> /// Преобразование результирующего ответа с функцией высшего порядка для одного аргумента /// </summary> public static IResultAppValue <Func <TOut> > ResultCurryOkBind <TIn1, TOut>(this IResultAppValue <Func <TIn1, TOut> > @this, IResultAppValue <TIn1> arg1) { if (@this == null) { throw new ArgumentNullException(nameof(@this)); } if (arg1 == null) { throw new ArgumentNullException(nameof(arg1)); } if (@this.HasErrors) { return(new ResultAppValue <Func <TOut> >(@this.Errors)); } return(arg1.OkStatus ? new ResultAppValue <Func <TOut> >(@this.Value.Curry(arg1.Value)) : new ResultAppValue <Func <TOut> >(@this.Errors.Concat(arg1.Errors))); }
/// <summary> /// Выполнение положительного или негативного условия в результирующем ответе /// </summary> public static IResultAppValue <TValueOut> ResultOkBad <TValueIn, TValueOut>(this IResultAppValue <TValueIn> @this, Func <TValueIn, TValueOut> okFunc, Func <TValueIn, TValueOut> badFunc) { if (okFunc == null) { throw new ArgumentNullException(nameof(okFunc)); } if (badFunc == null) { throw new ArgumentNullException(nameof(badFunc)); } if (@this == null) { throw new ArgumentNullException(nameof(@this)); } return(@this.OkStatus ? okFunc.Invoke(@this.Value). Map(okResult => new ResultAppValue <TValueOut>(okResult, @this.Errors)) : badFunc.Invoke(@this.Value). Map(badResult => new ResultAppValue <TValueOut>(badResult, @this.Errors))); }
public ChangeSignatureMicrostation(ISignatureLibraryApp signatureLibrary, StampIdentifier stampIdentifier, IResultAppValue <IStampFieldMicrostation> signature, Func <ISignatureLibraryApp, IResultAppValue <IStampFieldMicrostation> > insertSignatureFunc, IStampTextField numberChange, IStampTextField numberOfPlots, IStampTextField typeOfChange, IStampTextField documentChange, IStampTextField dateChange) : base(signatureLibrary, stampIdentifier, signature, insertSignatureFunc) { NumberChange = numberChange; NumberPlots = numberOfPlots; TypeOfChange = typeOfChange; DocumentChange = documentChange; DateChange = dateChange; }
/// <summary> /// Преобразовать результирующий ответ модуля конвертации со значением в основной /// </summary> public static IResultValue <TValue> ToResultValueFromApplication <TValue>(this IResultAppValue <TValue> resultApplication) => ResultApplicationConverter.ToResultValue(resultApplication);
public ApprovalSignatureMicrostation(ISignatureLibraryApp signatureLibrary, StampIdentifier stampIdentifier, IResultAppValue <IStampFieldMicrostation> signature, Func <ISignatureLibraryApp, IResultAppValue <IStampFieldMicrostation> > insertSignatureFunc, IStampTextField departmentApproval, IStampTextField responsiblePerson, IStampTextField dateSignature) : base(signatureLibrary, stampIdentifier, signature, insertSignatureFunc) { ResponsiblePerson = responsiblePerson ?? throw new ArgumentNullException(nameof(responsiblePerson)); Department = departmentApproval; DateSignature = dateSignature; }
/// <summary> /// Выполнение положительного условия или возвращение предыдущей ошибки в результирующем ответе /// </summary> public static IResultAppValue <TValueOut> ResultValueOk <TValueIn, TValueOut>(this IResultAppValue <TValueIn> @this, Func <TValueIn, TValueOut> okFunc) { if (okFunc == null) { throw new ArgumentNullException(nameof(okFunc)); } if (@this == null) { throw new ArgumentNullException(nameof(@this)); } if (@this.HasErrors) { return(new ResultAppValue <TValueOut>(@this.Errors)); } return(okFunc.Invoke(@this.Value). Map(okResult => new ResultAppValue <TValueOut>(okResult, @this.Errors))); }
/// <summary> /// Выполнение условия или возвращение предыдущей ошибки в результирующем ответе /// </summary> public static IResultAppValue <TValueOut> ResultValueContinue <TValueIn, TValueOut>(this IResultAppValue <TValueIn> @this, Func <TValueIn, bool> predicate, Func <TValueIn, TValueOut> okFunc, Func <TValueIn, IEnumerable <IErrorApplication> > badFunc) { if (predicate == null) { throw new ArgumentNullException(nameof(predicate)); } if (okFunc == null) { throw new ArgumentNullException(nameof(okFunc)); } if (badFunc == null) { throw new ArgumentNullException(nameof(badFunc)); } if (@this == null) { throw new ArgumentNullException(nameof(@this)); } if (@this.HasErrors) { return(new ResultAppValue <TValueOut>(@this.Errors)); } return(predicate(@this.Value) ? okFunc.Invoke(@this.Value). Map(okResult => new ResultAppValue <TValueOut>(okResult, @this.Errors)) : badFunc.Invoke(@this.Value). Map(badResult => new ResultAppValue <TValueOut>(@this.Errors.Union(badResult)))); }
public BasicFieldsCreatingChangeWord(IResultAppValue <IStampTextField> fullCode, IStampFieldsWord stampFieldsWord) : base(stampFieldsWord) { _fullCode = fullCode ?? throw new ArgumentNullException(nameof(fullCode)); }
/// <summary> /// Выполнение положительного условия результирующего ответа или возвращение предыдущей ошибки в результирующем ответе /// </summary> public static IResultAppValue <TValueOut> ResultValueOkBind <TValueIn, TValueOut>(this IResultAppValue <TValueIn> @this, Func <TValueIn, IResultAppValue <TValueOut> > okFunc) { if (okFunc == null) { throw new ArgumentNullException(nameof(okFunc)); } if (@this == null) { throw new ArgumentNullException(nameof(@this)); } return(@this.HasErrors ? new ResultAppValue <TValueOut>(@this.Errors) : okFunc.Invoke(@this.Value)); }
/// <summary> /// Преобразовать результирующий ответ модуля со значением конвертации в основной /// </summary> public static IResultValue <TValue> ToResultValue <TValue>(IResultAppValue <TValue> resultApplicationValue) => resultApplicationValue?. Map(result => (resultApplicationValue.OkStatus) ? new ResultValue <TValue>(result.Value) : new ResultValue <TValue>(result.Errors.ToErrorsConverting())) ?? throw new ArgumentNullException(nameof(resultApplicationValue));