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);
            }
        }
Beispiel #2
0
 public override void NotifyOfferStatusChange(Google.ProtocolBuffers.IRpcController controller, OfferNotificationRequest request, Action <bnet.protocol.NO_RESPONSE> done)
 {
     throw new NotImplementedException();
 }
Beispiel #3
0
		public override void NotifyOfferStatusChange(Google.ProtocolBuffers.IRpcController controller, OfferNotificationRequest request, Action<bnet.protocol.NO_RESPONSE> done) {
			throw new NotImplementedException();
		}