public HomeViewModel(ExchangeRateListingViewModel exchangeRateViewModel, IAuthenticator authenticator, TaskSummaryViewModel taskSummaryViewModel) { ExchangeRateListingViewModel = exchangeRateViewModel; TaskSummaryViewModel = taskSummaryViewModel; Authenticator = authenticator; Username = authenticator.CurrentUser.Username; actualTime = DateTime.Now.ToString("HH:mm"); if (DateTime.Now.Hour > 0 && DateTime.Now.Hour <= 6) { actualGreeting = $"Hello, moon rider"; } else if (DateTime.Now.Hour > 6 && DateTime.Now.Hour <= 12) { actualGreeting = $"Good morning, {Username}"; } else if (DateTime.Now.Hour > 12 && DateTime.Now.Hour <= 16) { actualGreeting = $"Good afternoon, {Username}"; } else if (DateTime.Now.Hour > 16 && DateTime.Now.Hour < 24) { actualGreeting = $"Good evening, {Username}"; } StartTimer(); }
public void ValidationShouldFail_IfNoNameIsSupplied() { var model = new TaskSummaryViewModel(); var result = ValidateModel(model); var nameError = result.Where(r => r.ErrorMessage == "The Name field is required.").FirstOrDefault(); Assert.NotNull(nameError); }
public async Task Handle(UserUnenrolls notification) { // don't let problem with notification keep us from continuing try { var notificationModel = await _mediator.SendAsync(new EventDetailForNotificationQueryAsync { EventId = notification.EventId, UserId = notification.UserId }) .ConfigureAwait(false); var campaignContact = notificationModel.CampaignContacts.SingleOrDefault(tc => tc.ContactType == (int)ContactTypes.Primary); var adminEmail = campaignContact?.Contact.Email; if (string.IsNullOrWhiteSpace(adminEmail)) { return; } TaskSummaryViewModel taskModel = null; string remainingRequiredVolunteersPhrase; taskModel = notificationModel.Tasks.FirstOrDefault(t => t.Id == notification.TaskIds[0]) ?? new TaskSummaryViewModel(); remainingRequiredVolunteersPhrase = $"{taskModel.NumberOfVolunteersSignedUp}/{taskModel.NumberOfVolunteersRequired}"; var eventLink = $"View event: {_options.Value.SiteBaseUrl}Admin/Event/Details/{notificationModel.EventId}"; var subject = $"A volunteer has unenrolled from a task"; var message = new StringBuilder(); message.AppendLine($"A volunteer has unenrolled from a task."); message.AppendLine($" Volunteer: {notificationModel.Volunteer.Name} ({notificationModel.Volunteer.Email})"); message.AppendLine($" Campaign: {notificationModel.CampaignName}"); message.AppendLine($" Event: {notificationModel.EventName} ({eventLink})"); message.AppendLine($" Task: {taskModel.Name} ({$"View task: {_options.Value.SiteBaseUrl}Admin/Task/Details/{taskModel.Id}"})"); message.AppendLine($" Task Start Date: {taskModel.StartDateTime.Date.ToShortDateString()}"); message.AppendLine($" Remaining/Required Volunteers: {remainingRequiredVolunteersPhrase}"); message.AppendLine(); var command = new NotifyVolunteersCommand { ViewModel = new NotifyVolunteersViewModel { EmailMessage = message.ToString(), HtmlMessage = message.ToString(), EmailRecipients = new List <string> { campaignContact.Contact.Email }, Subject = subject } }; await _mediator.SendAsync(command).ConfigureAwait(false); } catch (Exception e) { _logger.LogError($"Exception encountered: message={e.Message}, innerException={e.InnerException}, stacktrace={e.StackTrace}"); } }
public void ValidationShouldFail_IfNoNumberOfVolunteersRequiredIsSupplied() { //arrange using (new CultureContext(new CultureInfo("en"))) { var model = new TaskSummaryViewModel(); var tester = new PropertyValidationHelper <TaskSummaryViewModel>(model); //act var result = tester.ValidateProperty(m => m.NumberOfVolunteersRequired); //assert Assert.Contains("'Volunteers Required' must be greater than 0", result.Select(r => r.ErrorMessage)); } }
public void ValidationShouldFail_IfNoNameIsSupplied() { //arrange using (new CultureContext(new CultureInfo("en"))) { var model = new TaskSummaryViewModel(); var tester = new PropertyValidationHelper <TaskSummaryViewModel>(model); //act var result = tester.ValidateProperty(m => m.Name); //assert Assert.Contains("The Name field is required.", result.Select(r => r.ErrorMessage)); } }
public void ValidationShouldSucceed_IfNumberOfVolunteersRequiredIs1() { //arrange using (new CultureContext(new CultureInfo("en"))) { var model = new TaskSummaryViewModel { NumberOfVolunteersRequired = 1 }; var tester = new PropertyValidationHelper <TaskSummaryViewModel>(model); //act var result = tester.ValidateProperty(m => m.NumberOfVolunteersRequired); //assert Assert.Empty(result); } }
public void ValidationShouldSucceed_IfNameIsSupplied() { //arrange using (new CultureContext(new CultureInfo("en"))) { var model = new TaskSummaryViewModel { Name = "name" }; var tester = new PropertyValidationHelper <TaskSummaryViewModel>(model); //act var result = tester.ValidateProperty(m => m.Name); //assert Assert.Empty(result); } }