示例#1
0
        protected void getListFromRepository <TDetail, TData, TRepository>(
            object obj, string name, Action <TData> setId, Func <TData, TDetail> toObject)

            where TRepository : IRepository <TDetail>
        {
            var t = isReadOnlyProperty(obj, name) as IReadOnlyList <TDetail>;

            Assert.IsNotNull(t);
            Assert.AreEqual(0, t.Count);
            var values      = GetRepository.Instance <TRepository>();
            var valuesCount = GetRandom.UInt8(10, 20);

            for (var i = 0; i < valuesCount; i++)
            {
                var d = GetRandom.Object <TData>();
                if (i % 4 == 0)
                {
                    setId(d);
                }
                values.Add(toObject(d)).GetAwaiter();
            }

            t = isReadOnlyProperty(obj, name) as IReadOnlyList <TDetail>;
            Assert.AreEqual((int)Math.Ceiling(valuesCount / 4.0), t?.Count);
        }
示例#2
0
        protected void getFromRepository <TData, TObject, TRepository>(
            TData d, Func <TData> getData, Func <TData, TObject> toObject)

            where TData : UniqueEntityData, new()
            where TObject : IEntity <TData>
            where TRepository : IRepository <TObject>
        {
            GetRepository.Instance <TRepository>().Add(toObject(d)).GetAwaiter();
            arePropertiesEqual(d, getData());
        }
示例#3
0
 public virtual void Update(TEntity entity)
 {
     try
     {
         var targerEntity = GetById(entity.Id);
         ComparisonPropertyValues(entity, targerEntity);
         GetRepository.Update(targerEntity);
         WorkWithMssql.Commit();
     }
     catch (Exception e)
     {
         Logger.Error(e.Message);
     }
 }
示例#4
0
        protected void getFromRepository <TData, TObject, TRepository>(string id, Func <TData> getData,
                                                                       Func <TData, TObject> toObject)

            where TData : UniqueEntityData, new()
            where TObject : IUniqueEntity <TData>
            where TRepository : IRepository <TObject>
        {
            var d = GetRandom.Object <TData>();

            GetRepository.Instance <TRepository>().Add(toObject(d)).GetAwaiter();
            Assert.IsNotNull(getData());
            arePropertiesEqual(getData(), new TData(), "Id");
            d.Id = id;
            GetRepository.Instance <TRepository>().Add(toObject(d)).GetAwaiter();
            arePropertiesEqual(d, getData());
        }
示例#5
0
        public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services   = scope.ServiceProvider;
                var dbQuantity = services.GetRequiredService <AirportDbContext>();
                AirportsDbInitializer.Initialize(dbQuantity);
                StopOversDbInitializer.Initialize(dbQuantity);
                AirlineCompaniesDbInitializer.Initialize(dbQuantity);
                DimensionsDbInitializer.Initialize(dbQuantity);
            }
            GetRepository.SetServiceProvider(host.Services);
            host.Run();
        }
        public async Task Invoke(HttpContext context, IDocumentClient documentDbClient, IImageRepository imageRepository)
        {
            var imagesRepository = new GetRepository <Domain.Tea.Image>(documentDbClient, DocumentDBConstants.DatabaseId, DocumentDBConstants.Collections.Images);
            var matches          = Regex.Matches(context.Request.Path, RegEx);

            if (matches.Count > 0 && matches[0].Groups.Count > 1)
            {
                var image = await imagesRepository.GetItemAsync(matches[0].Groups[1].Value);

                var bitmap = await imageRepository.Get(image.Filename);

                var response = GenerateResponse(bitmap, image.Filename);

                context.Response.ContentType = bitmap.GetMimeType("image/png");
                await context.Response.Body.WriteAsync(response, 0, response.Length);
            }
        }
示例#7
0
        public virtual void Remove(int id)
        {
            try
            {
                if (id < 0)
                {
                    throw new ArgumentException(nameof(id));
                }

                GetRepository.Remove(id);
                WorkWithMssql.Commit();
            }
            catch (Exception e)
            {
                Logger.Error(e.Message);
            }
        }
示例#8
0
        public virtual void Add(TEntity entity)
        {
            try
            {
                if (entity == null)
                {
                    throw new ArgumentNullException(nameof(entity));
                }

                GetRepository.Add(entity);
                WorkWithMssql.Commit();
            }
            catch (Exception e)
            {
                Logger.Error(e.Message);
            }
        }
        public async Task <ICommandResult> ExecuteAsync(UpdateBagCommand command)
        {
            var activity = await ActivityRepository.SearchItemsAsync(x => x.Name == $"{nameof(UpdateBagCommandHandler)}");

            if (await Authorizer.IsAuthorized(activity.FirstOrDefault()))
            {
                return(new ForbidResult());
            }

            if (command == null)
            {
                return(new ErrorResult("Update item cannot be null"));
            }

            var previousEntity = await GetRepository.GetItemAsync(command.Id);

            var entity = Translator.Translate(command.Data, previousEntity);
            await UpdateRepository.UpdateItemAsync(command.Id, entity);

            return(new OkResult());
        }
示例#10
0
        protected override void ConfigureWebHost(IWebHostBuilder builder)
        {
            builder.ConfigureServices(s => {
                removeCurrentDb <ApplicationDbContext>(s);
                removeCurrentDb <StoreDbContext>(s);

                s.AddEntityFrameworkInMemoryDatabase();

                addInMemoryDb <ApplicationDbContext>(s);
                addInMemoryDb <StoreDbContext>(s);



                var sp = s.BuildServiceProvider();

                using (var scope = sp.CreateScope()) {
                    var scopedServices = scope.ServiceProvider;
                    ensureDbsAreCreated(scopedServices, dbContexts);
                }

                GetRepository.SetServiceProvider(sp);
            });
        }
示例#11
0
 public void InstanceTest() => Assert.IsNull(GetRepository.Instance <IAirportsRepository>());
示例#12
0
 public virtual TEntity GetById(int id)
 {
     return(GetRepository.GetById(id));
 }