Пример #1
0
 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));
 }
Пример #2
0
 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));
 }
Пример #3
0
 /// <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);
        }
Пример #8
0
        /// <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));
        }
Пример #9
0
        /// <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)));
        }
Пример #11
0
        /// <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);
Пример #14
0
 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;
 }
Пример #15
0
        /// <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)));
        }
Пример #16
0
        /// <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))));
        }
Пример #17
0
 public BasicFieldsCreatingChangeWord(IResultAppValue <IStampTextField> fullCode, IStampFieldsWord stampFieldsWord)
     : base(stampFieldsWord)
 {
     _fullCode = fullCode ?? throw new ArgumentNullException(nameof(fullCode));
 }
Пример #18
0
        /// <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));