Exemple #1
0
 public ConstantsRepository(
     ILogger <ConstantsRepository> logger,
     CalculatorDbContext context)
 {
     _logger  = logger;
     _context = context;
 }
        public static void Initialize()
        {
            var db = new CalculatorDbContext();

            Database.SetInitializer(new MigrateDatabaseToLatestVersion <CalculatorDbContext, Configuration>());
            db.Database.Initialize(true);
        }
 public ICollection <ContentsCalculatorItem> Read()
 {
     using (var ctx = new CalculatorDbContext())
     {
         return(ctx.ContentsCalculatorItems.Include(x => x.ContentsCategoryType).ToList());
     }
 }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseCors("MyPolicy");
            app.UseMvc();

            //Applies any pending migrations for the context to the database. Do not use update-database
            using (var ctx = new CalculatorDbContext())
            {
                ctx.Database.Migrate();
            }
            //Seed data
            using (var scope = app.ApplicationServices.CreateScope())
            {
                var init = scope.ServiceProvider.GetService <CalculatorDbInitializer>();
                init.Seed(new CalculatorDbContext());
            }
        }
Exemple #5
0
 public CalculationsController(
     ILogger <CalculationsController> logger, ICalculationRepository calculationRepository, ICalculator calculator, IMapper mapper, CalculatorDbContext dbContext)
 {
     _logger = logger;
     _calculationRepository = calculationRepository;
     _calculator            = calculator;
     _mapper    = mapper;
     _dbContext = dbContext;
 }
 public void Delete(int id)
 {
     using (var ctx = new CalculatorDbContext())
     {
         var calculatorItem = ctx.ContentsCalculatorItems.FirstOrDefault(x => x.Id == id);
         if (calculatorItem != null)
         {
             ctx.ContentsCalculatorItems.Remove(calculatorItem);
             ctx.SaveChanges();
         }
     }
 }
Exemple #7
0
        /// <summary>
        /// Returns the total amount of buttons pushed
        /// </summary>
        /// <param name="sessionId">The user's session identifier</param>
        /// <returns>The total button count amount and if it was a success or not</returns>
        public async Task <ApiResponse <int> > GetTotalButtonsPushedAsync(Guid sessionId)
        {
            using (var db = new CalculatorDbContext())
            {
                var sessionData = await db.SessionData
                                  .AsNoTracking()
                                  .FirstOrDefaultAsync(sd => sd.SessionId == sessionId);

                return(new ApiResponse <int>
                {
                    Data = sessionData.ButtonsPushed,
                    IsSuccess = true,
                    Message = "Button counter incremented"
                });
            }
        }
Exemple #8
0
        public void ConfigureServices(IServiceCollection services)
        {
            Console.WriteLine("ConfigureServices");

            var builder = new DbContextOptionsBuilder <CalculatorDbContext>();
            var options = builder.UseSqlite("DataSource=:memory;", x => { });

            services.AddScoped <DbContextOptions <CalculatorDbContext> >(_ => builder.Options);

            services.AddDbContext <CalculatorDbContext>(options => options = builder);


            services.AddScoped <IConstantsRepository, ConstantsRepository>();

            var context = new CalculatorDbContext(builder.Options);

            context.Database.EnsureCreated();
        }
        public void Update(int id, string name, double value, string category)
        {
            using (var ctx = new CalculatorDbContext())
            {
                var categoryType = ctx.ContentsCategoryTypes.FirstOrDefault(x => x.Name == category);
                if (categoryType != null)
                {
                    var contentsCalculatorItem = ctx.ContentsCalculatorItems.FirstOrDefault(x => x.Id == id);

                    if (contentsCalculatorItem != null)
                    {
                        contentsCalculatorItem.Name  = name;
                        contentsCalculatorItem.Value = value;
                        contentsCalculatorItem.ContentsCategoryTypeId = categoryType.Id;

                        ctx.SaveChanges();
                    }
                }
            }
        }
        public int?Create(string name, double value, string category)
        {
            using (var ctx = new CalculatorDbContext())
            {
                var categoryType = ctx.ContentsCategoryTypes.FirstOrDefault(x => x.Name == category);
                if (categoryType != null)
                {
                    var contentsCalculatorItem = new ContentsCalculatorItem
                    {
                        Name = name, ContentsCategoryTypeId = categoryType.Id, Value = value
                    };

                    ctx.ContentsCalculatorItems.Add(contentsCalculatorItem);
                    ctx.SaveChanges();

                    return(contentsCalculatorItem.Id);
                }

                return(null);
            }
        }
Exemple #11
0
        /// <summary>
        /// Generates a unique session GUID for the user
        /// </summary>
        /// <returns>A unique GUID</returns>
        public async Task <ApiResponse <Guid> > GenerateSessionGuidAsync()
        {
            using (var db = new CalculatorDbContext())
            {
                var sessionId = Guid.NewGuid();

                var sessionData = new SessionData
                {
                    ButtonsPushed = 0,
                    SessionId     = sessionId
                };

                db.Add(sessionData);
                await db.SaveChangesAsync();

                return(new ApiResponse <Guid>
                {
                    Data = sessionId,
                    IsSuccess = true,
                    Message = "Session ID generated"
                });
            }
        }
Exemple #12
0
 public Repository(CalculatorDbContext calculatorDbContext)
 {
     entities = calculatorDbContext.Set <T>();
     this.calculatorDbContext = calculatorDbContext;
 }
Exemple #13
0
 public CalculatorController()
 {
     this.dbContext = new CalculatorDbContext();
 }
Exemple #14
0
 public MathematicalController(CalculatorDbContext dbContext, ILogger <MathematicalController> logger)
 {
     _dbContext = dbContext;
     _logger    = logger;
 }
 public FormulaRepository()
 {
     db = new CalculatorDbContext();
 }
 public HomeController(CalculatorDbContext ctx)
 {
     _context = ctx;
 }
Exemple #17
0
 public BaseRepository(CalculatorDbContext calculatorDbContext)
 {
     _calculatorDbContext = calculatorDbContext;
     dbSet = _calculatorDbContext.Set <TEntity>();
 }
 public CalculationRepository(CalculatorDbContext dbContext, ILogger <CalculationRepository> logger)
 {
     _dbContext        = dbContext;
     _logger           = logger;
     _calculationDbSet = _dbContext?.Set <Calculation>();
 }
Exemple #19
0
 public UnitOfWork(CalculatorDbContext calculatorDbContext)
 {
     _calculatorDbContext = calculatorDbContext;
 }
Exemple #20
0
 public FormulaRepository(CalculatorDbContext context, IFormulaValidator validator, IFormulaStatusManager statusManager)
 {
     db                 = context;
     Validator          = validator;
     this.statusManager = statusManager;
 }