public async void NotifyContragents([FromBody] OfferNotificationRequest request) { IRepository <AspNetUsers> repository = new ContragentUsersRepository(); IEnumerable <AspNetUsers> contragentUsers = request.ToAll ? repository.Get() : repository.Get(c => request.ContragentsIds.Contains(c.ContragentId ?? 0)); IRepository <Offer> offersRepository = new OffersRepository(); Offer offer = offersRepository.Get(request.OfferId); string offerUrl = $"{Request.Scheme}://{Request.Host}/Offers#/off_edit/{request.OfferId}"; IEmailMessageBuilder messageBuilder = new OfferNotifyMessageBuilder(offer, offerUrl); string subject = messageBuilder.BuildSubject(); string message = messageBuilder.BuildBody(); IEmailSender sender = new NotificationEmailSender(); foreach (AspNetUsers user in contragentUsers) { await sender.SendEmailAsync(user.Email, subject, message); } }
public override void NotifyOfferStatusChange(Google.ProtocolBuffers.IRpcController controller, OfferNotificationRequest request, Action <bnet.protocol.NO_RESPONSE> done) { throw new NotImplementedException(); }
public override void NotifyOfferStatusChange(Google.ProtocolBuffers.IRpcController controller, OfferNotificationRequest request, Action<bnet.protocol.NO_RESPONSE> done) { throw new NotImplementedException(); }