Example #1
0
        private async void SaveInvoiceBtn_Click(object sender, EventArgs e)
        {
            using (var context = new Models.TimeTrackerDBContext())
            {
                var invoice = new Models.TrackingInvoice();
                invoice.Description     = this.InvoiceDescription.Text;
                invoice.IsPaid          = false;
                invoice.PeriodStartDate = this.FromDatePicker.Value.Value;
                invoice.PeriodEndDate   = this.ToDatePicker.Value.Value;
                invoice.UserID          = Tools.CurrentUser.ID;
                context.TrackingInvoices.Add(invoice);
                await context.SaveChangesAsync();

                await context.Database.ExecuteSqlCommandAsync("UPDATE TimeTracking SET TrackingInvoiceID={0} where Date>={1} and Date<={2}", invoice.ID, invoice.PeriodStartDate, invoice.PeriodEndDate);
            }
        }
Example #2
0
 public void GetInvoiceList()
 {
     using (var context = new Models.TimeTrackerDBContext())
     {
         var list = (from invoice in context.TrackingInvoices
                     join user in context.Users on invoice.UserID equals user.ID
                     select new DataModel.InvoiceModel
         {
             ID = invoice.ID,
             Description = invoice.Description,
             IsPaid = invoice.IsPaid == false?"No":"Yes",
             PeriodEndDateTime = invoice.PeriodEndDate,
             PeriodStartDateTime = invoice.PeriodStartDate,
             User = user.Username
         }).ToList();
         this.InvoiceGrid.DataSource = list;
     }
 }
Example #3
0
 private void SaveManualTracker()
 {
     using (var context = new Models.TimeTrackerDBContext())
     {
         var tracker = new Models.TimeTracking();
         tracker.CreateDate = DateTime.Now;
         tracker.Date       = ManualDate.Value.Value;
         var project = context.Projects.Where(o => o.ProjectName == this.ManualProjectCombo.SelectedItem.ToString()).FirstOrDefault();
         tracker.ProjectID    = project.ID;
         tracker.HourCount    = Convert.ToDouble(HoursNumeric.Value);
         tracker.MinutesCount = Convert.ToDouble(MinutesNumeric.Value);
         tracker.UserID       = Tools.CurrentUser.ID;
         tracker.Description  = this.ManualDescTxt.Text;
         context.TimeTrackings.Add(tracker);
         context.SaveChanges();
         MessageBox.Show("Tracker is saved.");
         makefieldsEmptyInManual();
     }
 }
Example #4
0
 private void SaveAutoTracker()
 {
     using (var context = new Models.TimeTrackerDBContext())
     {
         TimeSpan elapsed = (DateTime.Now - StartTime) - PausedElapsedTime;
         var      tracker = new Models.TimeTracking();
         tracker.CreateDate = DateTime.Now;
         tracker.Date       = DateTime.Now.Date;
         var project = context.Projects.Where(o => o.ProjectName == this.ProjectComboBox.SelectedItem.ToString()).FirstOrDefault();
         tracker.ProjectID    = project.ID;
         tracker.HourCount    = elapsed.Hours;
         tracker.MinutesCount = elapsed.Minutes;
         tracker.UserID       = Tools.CurrentUser.ID;
         tracker.Description  = this.DescriptionTxtBox.Text;
         context.TimeTrackings.Add(tracker);
         context.SaveChanges();
         MessageBox.Show("Tracker is saved.");
         makefieldsEmptyInAuto();
     }
 }
Example #5
0
 public void SetInvoiceFromDate()
 {
     using (var context = new Models.TimeTrackerDBContext())
     {
         var lastInvoice = context.TrackingInvoices.ToList().OrderByDescending(o => o.ID).FirstOrDefault();
         if (lastInvoice != null)
         {
             this.FromDatePicker.Value = lastInvoice.PeriodEndDate;
             this.ToDatePicker.Value   = lastInvoice.PeriodEndDate.AddMonths(1);
         }
         else
         {
             var firsttrack = context.TimeTrackings.ToList().OrderBy(o => o.Date).FirstOrDefault();
             if (firsttrack != null)
             {
                 this.FromDatePicker.Value = firsttrack.Date;
                 this.ToDatePicker.Value   = firsttrack.Date.AddMonths(1);
             }
         }
     }
 }