Example #1
0
 /// <summary>
 /// Получить тестовый сервис работы с базой данных
 /// </summary>
 public static Mock <ITestDatabaseService> GetTestDatabaseTable(IResultCollection <ITestDomain> testDomains,
                                                                Func <TestEnum, IResultValue <ITestDomain> > deleteFunc,
                                                                IResultError deleteAllResult) =>
 new Mock <ITestDatabaseService>().
 Void(serviceMock => serviceMock.Setup(service => service.Get()).ReturnsAsync(testDomains)).
 Void(serviceMock => serviceMock.Setup(service => service.Delete(It.IsAny <TestEnum>())).ReturnsAsync(deleteFunc)).
 Void(serviceMock => serviceMock.Setup(service => service.Delete()).ReturnsAsync(deleteAllResult));
Example #2
0
		public LegendPageModule(IResultCollection rc)
		{
			Get["/legend"] = _ => 
            {
				return View["legend.sshtml", new LegendPageViewModel(rc.Current)];
			};
		}
Example #3
0
 public IndexPageModule(ITournament tournament, ISubmittedBets bets, IResultCollection rc)
 {
     Get["/"] = _ =>
     {
         return(View["frontpage.sshtml", new IndexPageViewModel(tournament, bets, rc)]);
     };
 }
Example #4
0
        private ResultCollection <TResult> ParseGeneric(Dictionary <IOption, OptionData> optionResults, IEnumerable <string> remainingArgs)
        {
            var results = new Dictionary <IOption, IParsingResult>();

            foreach (var option in _optionCollections)
            {
                if (optionResults.ContainsKey(option.Key))
                {
                    var baseOption = option.Key;
                    var optionData = optionResults[option.Key];
                    if (baseOption is OptionInfo <string> )
                    {
                        results.Add(option.Key, GetParseResult((OptionInfo <string>)baseOption, optionData));
                    }
                    else if (baseOption is OptionInfo <List <string> > )
                    {
                        results.Add(option.Key, GetParseResult((OptionInfo <List <string> >)baseOption, optionData));
                    }
                    continue;
                }
                IResultCollection resultCollection = option.Value.ParseInternal(optionResults);
                IParsingResult    failedResult;
                if (!resultCollection.Validate(out failedResult))
                {
                    results.Add(option.Key, failedResult);
                }
                else
                {
                    results.Add(option.Key, option.Key.Parse(new SuccessfulResultCollection(resultCollection)));
                }
            }

            return(new ResultCollection <TResult>(results, remainingArgs));
        }
Example #5
0
 /// <summary>
 /// Получить роли для добавления в базу
 /// </summary>
 private static async Task <IEnumerable <IdentityUser> > GetUsersToCreate(UserStore <IdentityUser> userStore,
                                                                          IResultCollection <BoutiqueUser> defaultUsersResult) =>
 await defaultUsersResult.WhereContinue(defaultUsers => defaultUsers.OkStatus,
                                        okFunc : defaultUsers => userStore.Users.ToListAsync().
                                        MapTaskAsync(users => users.Select(user => user.UserName)).
                                        MapTaskAsync(userNames => GetNewDefaultUsers(defaultUsers.Value, userNames)),
                                        badFunc : _ => Task.FromResult(Enumerable.Empty <IdentityUser>()));
 /// <summary>
 /// Выполнить действие, вернуть результирующий ответ
 /// </summary>
 public static IResultCollection <TValue> ResultCollectionVoidOkBad <TValue>(this IResultCollection <TValue> @this,
                                                                             Action <IReadOnlyCollection <TValue> > actionOk,
                                                                             Action <IReadOnlyCollection <IErrorResult> > actionBad) =>
 @this.
 VoidWhere(_ => @this.OkStatus,
           actionOk: _ => actionOk.Invoke(@this.Value),
           actionBad: _ => actionBad.Invoke(@this.Errors));
 /// <summary>
 /// Получить тестовый сервис работы с базой данных
 /// </summary>
 public static Mock <ITestDatabaseService> GetTestDatabaseTable(IResultCollection <ITestDomain> testDomains,
                                                                Func <ITestDomain, IResultValue <TestEnum> > postValueFunc,
                                                                Func <IResultCollection <TestEnum> > postCollectionFunc) =>
 new Mock <ITestDatabaseService>().
 Void(serviceMock => serviceMock.Setup(service => service.Post(It.IsAny <ITestDomain>())).
      ReturnsAsync(postValueFunc)).
 Void(serviceMock => serviceMock.Setup(service => service.Post(It.IsAny <IEnumerable <ITestDomain> >())).
      ReturnsAsync(postCollectionFunc));
        /// <summary>
        /// Обновить схемы базы данных
        /// </summary>
        public async Task UpdateSchema(UserManager <IdentityUser> userManager, IResultCollection <BoutiqueUser> defaultUsers)
        {
            await Database.EnsureCreatedAsync();

            await Database.MigrateAsync();

            await IdentityInitialize.Initialize(this, userManager, defaultUsers);
        }
        /// <summary>
        /// Перезагрузить ресурсы
        /// </summary>
        public async Task ReloadResources()
        {
            _signatureNames = await GetSignatureNames();

            _signaturesMicrostation = await GetSignaturesMicrostation();

            _stampMicrostation = await GetStampsMicrostation();
        }
 /// <summary>
 /// Экспортировать в другие форматы и добавить в список обработанных файлов
 /// </summary>
 private IResultCollection <IFileDataSourceServer> ExportFileToSaveResult(IResultCollection <IFileDataSourceServer> saveResult,
                                                                          IDocumentLibrary documentLibrary, IFilePath filePath,
                                                                          IConvertingSettings convertingSettings) =>
 documentLibrary.GetStampContainer(convertingSettings.ToApplication()).
 WhereContinue(stampContainer => ConvertingModeChoice.IsDwgConvertingNeed(convertingSettings.ConvertingModeTypes) &&
               (stampContainer.StampDocumentType == StampDocumentType.Specification ||
                stampContainer.StampDocumentType == StampDocumentType.Drawing),
               okFunc: stampContainer => saveResult.ConcatResultValue(ExportFile(documentLibrary, filePath, stampContainer.StampDocumentType)),
               badFunc: _ => saveResult);
 /// <summary>
 /// Получить тестовую таблицу
 /// </summary>
 private static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities,
                                                       Func <TestEnum, IResultValue <TestEntity> > findIdFunc,
                                                       Func <IEnumerable <TestEnum>, IResultCollection <TestEntity> > findIdsFunc) =>
 new Mock <ITestTable>().
 Void(tableMock => tableMock.Setup(table => table.ToListMainAsync()).ReturnsAsync(testEntities)).
 Void(tableMock => tableMock.Setup(table => table.FindMainByIdAsync(It.IsAny <TestEnum>())).
      ReturnsAsync((TestEnum id) => testEntities.ToResultValue().ResultValueBindOk(_ => findIdFunc(id)))).
 Void(tableMock => tableMock.Setup(table => table.FindMainByIdsAsync(It.IsAny <IEnumerable <TestEnum> >())).
      ReturnsAsync((IEnumerable <TestEnum> ids) => testEntities.ResultCollectionBindOk(_ => findIdsFunc(ids))));
Example #12
0
 public IndexPageViewModel(ITournament t, ISubmittedBets sb, IResultCollection rc)
 {
     _tournament = t;
     CreateGroups();
     CreateBetterlist(sb.GetBetters(), sb, rc);
     EvaluateTrends();
     MarkWinnerIfFinished(rc.Current);
     TimeStamp = rc.Current.GetTimeStamp();
 }
Example #13
0
 public BetterPageModule(ITournament tournament, ISubmittedBets bets, IResultCollection rc)
 {
     Get["/{better}"] = _ =>
     {
         // disable once ConvertToLambdaExpression
         return(View["betterpage.sshtml", new BetterPageViewModel(tournament,
                                                                  bets.GetSingleBet(_.better),
                                                                  rc.Current)]);
     };
 }
        public SuccessfulResultCollection(IResultCollection collection)
        {
            IParsingResult failedResult;

            if (!collection.Validate(out failedResult))
            {
                throw new ArgumentException($"{nameof(collection)}: all parsing results must be successful. {failedResult.ErrorMessage}.");
            }
            _collection = collection;
        }
Example #15
0
        GetWrapper(IResultCollection <ArtifactWorkItemIds>
                   src)
        {
            var retVal = new IResultCollectionWrapper <IArtifactWorkItemIds>(null);

            foreach (ArtifactWorkItemIds item in src)
            {
                IArtifactWorkItemIds wrapped = GetWrapper(item);
                retVal.Add(wrapped);
            }
            return(retVal);
        }
Example #16
0
        /// <summary>
        /// Получить тестовую таблицу
        /// </summary>
        public static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities,
                                                             IResultError resultDelete,
                                                             Func <TestEntity, IResultValue <TestEntity> > deleteFunc,
                                                             Func <TestEnum, IResultValue <TestEntity> > findIdFunc) =>
        new Mock <ITestTable>().
        Void(tableMock => tableMock.Setup(table => table.Remove(It.IsAny <TestEntity>())).
             Returns(deleteFunc)).
        Void(tableMock => tableMock.Setup(table => table.Remove()).
             Returns(resultDelete)).
        Void(tableMock => tableMock.Setup(table => table.FindByIdAsync(It.IsAny <TestEnum>())).

             ReturnsAsync((TestEnum id) => testEntities.ToResultValue().ResultValueBindOk(_ => findIdFunc(id))));
        internal static async Task AdaptAsCollection <T>(IBoxedResultHook hook,
                                                         object request,
                                                         IResultCollection <T> items,
                                                         CancellationToken ct)
        {
            var result = new List <T>(items.Items.Count);

            foreach (var item in items.Items)
            {
                result.Add((T)await hook.Run(request, item, ct));
            }

            items.Items = result;
        }
 private IResultCollection <IFileDataSourceServer> CheckDataSourceExistence(IResultCollection <IFileDataSourceServer> fileDataSourceResult) =>
 fileDataSourceResult.Value.
 Where(fileDataSource => fileDataSource.ConvertingModeType != ConvertingModeType.Print &&
       !_filePathOperations.IsFileExist(fileDataSource.FilePathServer)).
 ToList().
 Map(fileDataSources => new
 {
     fileDataSources,
     errors = fileDataSources.Select(fileDataSource => new ErrorCommon(ErrorConvertingType.FileNotFound,
                                                                       $"Файл {fileDataSource.FilePathServer} не найден"))
 }).
 Void(filesOrErrors => _messagingService.ShowAndLogErrors(filesOrErrors.errors)).
 Map(filesOrErrors => new ResultCollection <IFileDataSourceServer>(fileDataSourceResult.Value.Except(filesOrErrors.fileDataSources),
                                                                   fileDataSourceResult.Errors.Concat(filesOrErrors.errors)));
        /// <summary>
        /// Выполнение положительного условия или возвращение предыдущей ошибки в результирующем ответе в обертке при равенстве параметров
        /// </summary>
        public static IResultCollection <TValue> ResultValueOkRaw <TValue>(this IResultCollection <TValue> @this,
                                                                           Func <IResultCollection <TValue>, IResultCollection <TValue> > okFunc)
        {
            if (okFunc == null)
            {
                throw new ArgumentNullException(nameof(okFunc));
            }
            if (@this == null)
            {
                throw new ArgumentNullException(nameof(@this));
            }

            return(@this.HasErrors
                ? new ResultCollection <TValue>(@this.Value, @this.Errors)
                : okFunc.Invoke(@this));
        }
Example #20
0
 void CreateBetterlist(List <string> betters, ISubmittedBets sb, IResultCollection rc)
 {
     foreach (var better in betters)
     {
         var score    = new ScoringSystem(sb.GetSingleBet(better), rc.Current);
         var oldscore = new ScoringSystem(sb.GetSingleBet(better), rc.Previous);
         var bet      = new Better()
         {
             Name = better, Score = score.GetTotal(), OldScore = oldscore.GetTotal()
         };
         var achievements = new AchievementSystem(sb.GetSingleBet(better), rc.Current);
         bet.Achievements = achievements.Achievements;
         bet.RowClass     = "normal";
         Betters.Add(bet);
     }
 }
Example #21
0
 /// <summary>
 /// Получить таблицу одежды
 /// </summary>
 public static Mock <IGenderTable> GetGenderTable(IResultCollection <GenderEntity> genderEntities) =>
 new Mock <IGenderTable>().
 Void(tableMock => tableMock.Setup(table => table.FindsExpressionAsync(It.IsAny <Func <IQueryable <GenderEntity>, IQueryable <GenderEntity> > >())).
      ReturnsAsync(genderEntities));
Example #22
0
 /// <summary>
 /// Преобразовать в другой подтип
 /// </summary>
 public static IResultCollection <TBase> Cast <TDerived, TBase>(this IResultCollection <TDerived> resultDerived)
     where TDerived : class, TBase =>
 resultDerived != null
         ? new ResultCollection <TBase>(resultDerived.Value, resultDerived.Errors)
 : throw new ArgumentNullException(nameof(resultDerived));
 /// <summary>
 /// Получить тестовую таблицу в стандартном исполнении
 /// </summary>
 public static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities) =>
 GetTestDatabaseTable(testEntities, FindIdOkFunc(testEntities), FindIdsOkFunc(testEntities));
 /// <summary>
 /// Initializes a new instance of the <see cref="IResultCollectionWrapper{T}"/> class.
 /// </summary>
 /// <param name="instance">The instance.</param>
 public IResultCollectionWrapper(IResultCollection <T> instance) : base(instance)
 {
 }
 /// <summary>
 /// Получить тестовую таблицу в исполнении с функцией поиска элемента
 /// </summary>
 public static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities,
                                                      Func <TestEnum, IResultValue <TestEntity> > firstFunc) =>
 GetTestDatabaseTable(testEntities, firstFunc, FindIdsOkFunc(testEntities));
 /// <summary>
 /// Связать результирующий ответ со значением со связыванием с обработкой функции при положительном условии
 /// </summary>
 public static IResultCollection <TValueOut> ResultCollectionBindTryOk <TValueIn, TValueOut>(this IResultCollection <TValueIn> @this,
                                                                                             Func <IReadOnlyCollection <TValueIn>, IResultCollection <TValueOut> > func,
                                                                                             IErrorResult error) =>
 @this.ResultCollectionBindOk(value => ResultCollectionBindTry(() => func.Invoke(value), error));
 /// <summary>
 /// Получить тестовую таблицу в исполнении с функцией поиска элементов
 /// </summary>
 public static Mock <ITestTable> GetTestDatabaseTable(IResultCollection <TestEntity> testEntities,
                                                      Func <IEnumerable <TestEnum>, IResultCollection <TestEntity> > findFunc) =>
 GetTestDatabaseTable(testEntities, FindIdOkFunc(testEntities), findFunc);
 /// <summary>
 /// Функция получения по идентификатору
 /// </summary>
 public static Func <TestEnum, IResultValue <TestEntity> > FindIdOkFunc(IResultCollection <TestEntity> entitiesResult) =>
 id => entitiesResult.ResultCollectionOkToValue(entities => SearchInEntities.FirstEntity(entities, id));
 /// <summary>
 /// Функция получения по идентификатору. Не найдено
 /// </summary>
 public static Func <TestEnum, IResultValue <TestEntity> > FirstNotFoundFunc(IResultCollection <TestEntity> entitiesResult) =>
 _ => entitiesResult.ResultValueBindOk(_ => new ResultValue <TestEntity>(Errors.NotFoundError));
 /// <summary>
 /// Функция поиска по идентификаторам
 /// </summary>
 public static Func <IEnumerable <TestEnum>, IResultCollection <TestEntity> > FindIdsOkFunc(IResultCollection <TestEntity> entitiesResult) =>
 id => entitiesResult.ResultCollectionOk(entities => SearchInEntities.FindEntities(entities, id));