private void Dashboard_Activated(object sender, EventArgs e) { if (UserSession.signIn) { _createEvents(DateTime.Now); _createTransactions(DateTime.Now); LblUserName.Text = UserSession.UserData.UserName; if (!RecurringBackground.IsBusy) { RecurringBackground.RunWorkerAsync(); } } else { LoginForm loginForm = new LoginForm(); loginForm.Activate(); loginForm.Show(); } }
public async void _checkRecurringTransaction() { NormalTransactionRepository normalTransactionRepository = new NormalTransactionRepository(); RecurringTransactionRepository recurringTransactionRepository = new RecurringTransactionRepository(); List <RecurringTransaction> recurringTransactionList = recurringTransactionRepository.GetTransactions(UserSession.UserData.Id); foreach (RecurringTransaction recurringTransaction in recurringTransactionList) { int noOfDays = (DateTime.Now - UserSession.UserData.LastAccessDate).Days; DateTime recurringTime = UserSession.UserData.LastAccessDate; TimeSpan timeSpan = new TimeSpan(recurringTransaction.TransactionDate.Hour, recurringTransaction.TransactionDate.Minute, recurringTransaction.TransactionDate.Second); recurringTime = recurringTime.Date + timeSpan; for (int i = 0; i <= noOfDays; i++) { if (recurringTransaction.Status.Equals("Weekly")) { if (recurringTime.DayOfWeek != recurringTransaction.TransactionDate.DayOfWeek) { recurringTime = recurringTime.AddDays(1); continue; } } if (recurringTransaction.Status.Equals("Monthly")) { if (recurringTime.Day != recurringTransaction.TransactionDate.Day) { recurringTime = recurringTime.AddDays(1); continue; } } if (recurringTransaction.Status.Equals("Yearly")) { string recurringTimeString = recurringTime.ToString("dd/MM"); string createdDateString = recurringTransaction.TransactionDate.ToString("dd/MM"); if (!recurringTimeString.Equals(createdDateString)) { recurringTime = recurringTime.AddDays(1); continue; } } if (recurringTime > UserSession.UserData.LastAccessDate && recurringTime <= DateTime.Now && recurringTime > recurringTransaction.TransactionDate) { _messageStatus = await Task.Run(() => normalTransactionRepository.AddNormalTransaction(new Transaction { Name = recurringTransaction.Name, Amount = recurringTransaction.Amount, Type = recurringTransaction.Type, TransactionDate = recurringTime, Note = recurringTransaction.Note, ContactId = recurringTransaction.ContactId, UserId = recurringTransaction.UserId })); RecurringBackground.ReportProgress(1, "New Transaction has been Added"); } recurringTime = recurringTime.AddDays(1); } } }
public async void _checkRecurringEvent() { EventRepository _eventRepository = new EventRepository(); RecurringEventRepository _recurringEventRepository = new RecurringEventRepository(); List <RecurringEvent> recurringEventList = _recurringEventRepository.GetEvents(UserSession.UserData.Id); foreach (RecurringEvent recurringEvent in recurringEventList) { int noOfDays = (DateTime.Now - UserSession.UserData.LastAccessDate).Days; DateTime recurringTime = UserSession.UserData.LastAccessDate; TimeSpan timeSpan = new TimeSpan(recurringEvent.EventDate.Hour, recurringEvent.EventDate.Minute, recurringEvent.EventDate.Second); recurringTime = recurringTime.Date + timeSpan; for (int i = 0; i <= noOfDays; i++) { if (recurringEvent.Status.Equals("Weekly")) { if (recurringTime.DayOfWeek != recurringEvent.EventDate.DayOfWeek) { recurringTime = recurringTime.AddDays(1); continue; } } if (recurringEvent.Status.Equals("Monthly")) { if (recurringTime.Day != recurringEvent.EventDate.Day) { recurringTime = recurringTime.AddDays(1); continue; } } if (recurringEvent.Status.Equals("Yearly")) { string recurringTimeString = recurringTime.ToString("dd/MM"); string createdDateString = recurringEvent.EventDate.ToString("dd/MM"); if (!recurringTimeString.Equals(createdDateString)) { recurringTime = recurringTime.AddDays(1); continue; } } if (recurringTime > UserSession.UserData.LastAccessDate && recurringTime <= DateTime.Now && recurringTime > recurringEvent.EventDate) { _messageStatus = await Task.Run(() => _eventRepository.AddEvent(new Event { Name = recurringEvent.Name, Location = recurringEvent.Location, Type = recurringEvent.Type, EventDate = recurringTime, Note = recurringEvent.Note, ContactId = recurringEvent.ContactId, UserId = recurringEvent.UserId })); RecurringBackground.ReportProgress(1, "New Event has been Added"); } recurringTime = recurringTime.AddDays(1); } } }