public async Task <List <Item> > Get(int userid)
        {
            using (TimeTrackingDBContext context = new TimeTrackingDBContext())
            {
                var result = new CalculationResult();

                // Get Calculation Config for Current User
                var config = await context.Calculation.Where(a => a.userId == userid).SingleOrDefaultAsync();

                var items = await context.Items.Where(i => i.userId == userid).ToListAsync();

                var fahrtkosten = await context.Items.Where(i => i.userId == userid).ToListAsync();


                result.inVoicedDays = items.Sum(a => a.hours) / 8;

                result.averageHourlyRate = 65;

                result.income = items.Sum(a => a.hours) * 65;

                result.investmentExpenses = result.income * config.investmentTax;

                result.adjustedIncome = result.income - result.investmentExpenses;

                result.employerExpenses = result.income * config.employerDuties;

                return(null);
            }
        }
 public async Task <List <Item> > Get(int id)
 {
     using (TimeTrackingDBContext context = new TimeTrackingDBContext())
     {
         return(await context.Items.Where(a => a.user.Id == id).Include("project").OrderByDescending(a => a.date).AsNoTracking().ToListAsync());
     }
 }
 public async Task <List <Project> > Get()
 {
     using (TimeTrackingDBContext context = new TimeTrackingDBContext())
     {
         return(await context.Projects.Include(p => p.Costumer).ToListAsync());
     }
 }
        public async Task <long> Post([FromBody] Item item)
        {
            using (TimeTrackingDBContext context = new TimeTrackingDBContext())
            {
                item.userId = 1;
                context.Items.Add(item);
                await context.SaveChangesAsync();

                return(item.id);
            }
            //Mapping
        }
        public async void Delete(int id)
        {
            using (TimeTrackingDBContext context = new TimeTrackingDBContext())
            {
                var item = await context.Items.SingleOrDefaultAsync(i => i.id == id);

                if (item != null)
                {
                    context.Items.Remove(item);
                    await context.SaveChangesAsync();
                }
            }
        }