public async Task <ActionResult <ReservationViewModel> > CreateReservation([FromBody] CreateReservationViewModel model) { if (!ModelState.IsValid) { NotifyModelStateErrors(); return(ModelStateErrorResponseError()); } var createReservationCommand = _mapper.Map <CreateReservationCommand>(model); var result = await Mediator.SendCommandAsync(createReservationCommand); if (result.Success) { await Mediator.NotifyDomainNotification( DomainNotification.Success($" The reservation to {model.ContactName} was created with success !")); } var reservation = await _reservationRepository.GetByIdAsync(createReservationCommand.ReservationId); var returnModel = _mapper.Map <ReservationViewModel>(reservation); return(ResponsePost( nameof(CreateReservation), returnModel)); }
public async Task <ActionResult <ContactViewModel> > DeleteContact(Guid contactId) { var contact = await _contactRepository.GetContactById(contactId); if (contact == null) { NotifyError("This contact Id is invalid !"); return(ModelStateErrorResponseError()); } var deleteContactCommand = _mapper.Map <DeleteContactCommand>(contactId); var result = await Mediator.SendCommandAsync(deleteContactCommand); if (result.Success) { await Mediator.NotifyDomainNotification( DomainNotification.Success($" The contact to {contact.ContactName} was excluded with success !")); } var returnModel = _mapper.Map <ContactViewModel>(contact); return(ResponsePost( nameof(DeleteContact), returnModel)); }
public async Task <ActionResult <ContactViewModel> > EditContact([FromBody] EditContactViewModel model) { if (!ModelState.IsValid) { NotifyModelStateErrors(); return(ModelStateErrorResponseError()); } var editContactCommand = _mapper.Map <EditContactCommand>(model); var result = await Mediator.SendCommandAsync(editContactCommand); if (result.Success) { await Mediator.NotifyDomainNotification( DomainNotification.Success($" The contact to {model.ContactName} was edited with success !")); } var contact = await _contactRepository.GetContactById(model.ContactId); var returnModel = _mapper.Map <ContactViewModel>(contact); return(ResponsePost( nameof(EditContact), returnModel)); }
public async void AddDomainNotificationSuccess_Ok() { var faker = new Faker(); var message = faker.Lorem.Sentence(); var handler = new DomainNotificationHandler(); var domainNotification = DomainNotification.Success(message); await handler.Handle(domainNotification, new CancellationToken()); var notifications = handler.GetNotificationsSuccess(); Assert.True(handler.HasNotificationsSucess()); Assert.True(notifications.Count == 1); }
public async void GetNotificationsSucess_Ok() { var faker = new Faker(); var message = faker.Lorem.Sentence(); var handler = new DomainNotificationHandler(); var domainNotification = DomainNotification.Success(message); await handler.Handle(domainNotification, new CancellationToken()); var notifications = handler.GetNotificationsSuccess(); var result = notifications.Select(x => x.Value); Assert.Contains(message, result); }
public async void DomainNotificationClear_Ok() { var faker = new Faker(); var handler = new DomainNotificationHandler(); var qtError = faker.Random.Int(min: 3, max: 10); var qtSuccess = faker.Random.Int(min: 3, max: 10); for (var i = 0; i < qtError; i++) { var message = faker.Lorem.Sentence(); var domainNotification = DomainNotification.Fail(message); await handler.Handle(domainNotification, new CancellationToken()); } for (var i = 0; i < qtSuccess; i++) { var message = faker.Lorem.Sentence(); var domainNotification = DomainNotification.Success(message); await handler.Handle(domainNotification, new CancellationToken()); } handler.Clear(); var notificationsError = handler.GetNotificationsError(); var notificationsSuccess = handler.GetNotificationsSuccess(); Assert.False(handler.HasNotificationsError()); Assert.False(handler.HasNotificationsSucess()); Assert.True(notificationsError.Count == 0); Assert.True(notificationsSuccess.Count == 0); }