public async Task <ActionResult <AdModel> > Valid(Guid AdId, [FromServices] FunctionalUnitOfWork functionalUnitOfWork) { var current = await functionalUnitOfWork.AdRepository.FirstOrDefault(o => o.Id == AdId); var price = (await functionalUnitOfWork.AdPriceRepository.All()).FirstOrDefault(p => p.Id == current.AdPriceId); if (price?.Value == 0 || !string.IsNullOrEmpty(current.PaymentInformation)) { current.IsValid = true; current.ValidateDate = DateTime.UtcNow; current.OwnerId = User.NameIdentifier(); await functionalUnitOfWork.AdRepository.Update(current); functionalUnitOfWork.SaveChanges(); await _eventTrackingService.Create(current.OwnerId, "Ad", "validate"); await _notificationService.Create(current.OwnerId, $"Votre annonce {current.Title} a été validée !", $"/ads/details/{current.Id}", "reminder", "reminder", "reminder", NotificationTypeEnum.ValidateAd); await SendEmailTemplate(current); return(Ok(current)); } return(BadRequest()); }
public async Task <IActionResult> PutCard(Guid id, Card Card) { if (id != Card.Id) { return(BadRequest()); } await _UnitOfWork.CardRepository.Update(Card); _UnitOfWork.SaveChanges(); await _UnitOfWork.CardRepository.AddStatus(new CardStatu { Card = Card, StatusDate = DateTime.UtcNow, Status = CardStatus.Updated, UserId = User.NameIdentifier() }); _UnitOfWork.SaveChanges(); await HubContext.Clients.All.SendAsync("Card.Update", Card); return(NoContent()); }