public List <CostModel> GetCosts()
        {
            List <CostModel> costs = null;

            Context.AppContext dbContext = new Context.AppContext();
            try
            {
                costs = dbContext.Costs.ToList();
            }
            catch (SqliteException ex)
            {
                dbContext.Database.ExecuteSqlCommand("alter table Costs add BalanceId text null;");
                dbContext.Database.ExecuteSqlCommand("alter table Balance add Name text null;");
                dbContext.Database.ExecuteSqlCommand("update Balance set Name = 'My first account'");

                var firstBalance = dbContext.Balance.First();
                dbContext.Database.ExecuteSqlCommand($"update Costs set BalanceId={firstBalance.Id};");

                costs = dbContext.Costs.ToList();
            }
            finally
            {
                if (dbContext != null)
                {
                    dbContext.Dispose();
                }
            }

            costs.Reverse();

            return(costs);
        }
        public IEnumerable <Category> Get()
        {
            var categories = db.Categories.ToList();

            db.Dispose();
            return(categories);
        }
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         db.Dispose();
     }
     base.Dispose(disposing);
 }
示例#4
0
        public IActionResult GetAllProducts()
        {
            string path = Directory.GetCurrentDirectory() + @"\Resources\Images";

            if (Directory.Exists(path))
            {
                try
                {
                    var pr = db.Products.ToList();
                    db.Dispose();
                    return(Json(pr));
                }
                catch
                {
                    return
                        (StatusCode(500,
                                    $"500. Internal server error")); //if cannot read from database throw InternalServer error status code
                }
            }

            return(StatusCode(404, $"404.Not found"));

            ;
        }
        public List <BalanceModel> GetBalances()
        {
            List <BalanceModel> balances = null;

            Context.AppContext dbContext = new Context.AppContext();
            try
            {
                balances = dbContext.Balance.ToList();
            }
            catch (SqliteException ex)
            {
                dbContext.Database.ExecuteSqlCommand("alter table Balance add Name text null;");
                dbContext.Database.ExecuteSqlCommand("update Balance set Name = 'My first account'");
            }
            finally
            {
                if (dbContext != null)
                {
                    dbContext.Dispose();
                }
            }

            return(balances);
        }
        public BalanceModel GetFirstBalance()
        {
            BalanceModel balance = null;

            Context.AppContext dbContext = new Context.AppContext();
            try
            {
                balance = dbContext.Balance.FirstOrDefault();
            }
            catch (SqliteException ex)
            {
                dbContext.Database.ExecuteSqlCommand("alter table Balance add Name text null;");
                balance = dbContext.Balance.FirstOrDefault();
            }
            finally
            {
                if (dbContext != null)
                {
                    dbContext.Dispose();
                }
            }

            return(balance);
        }
示例#7
0
 protected override void DisposeCore()
 {
     _dbContext?.Dispose();
 }