public SendMailResponse SendMail(SendMailRequest request) { var userAuthentication = userAuthenticationRepository.GetById(request.AuthKey); if (userAuthentication is null || userAuthentication.ExpireAt < DateTime.Now) { return(new SendMailResponse { Code = "-1", Completed = false, Message = "Not Authenticated" }); } var user = userRepository.GetById(userAuthentication.UserId); var company = companyAccountRepository.GetFirstOrDefault(x => x.Identifier == request.ReceiverIdentifier); if (company is null) { return(new SendMailResponse { Code = "-1", Completed = false, Message = "Receiver Company Not Found!" }); } var outMail = new OutMail { Body = request.Body, CompanyId = user.CompanyId, ReceiverIdentifier = request.ReceiverIdentifier, InsertAt = DateTime.Now, State = (int)MailState.Received, Subject = request.Subject, }; outMailRepository.Create(outMail); bus.Publish <IMailReceived>(new { CompanyId = user.CompanyId, MailID = outMail.MailId.ToString() }); return(new SendMailResponse { Completed = true, Code = "1", Message = "Mail Received" }); }
public Task Consume(ConsumeContext <IMailProcess2Finished> context) { Console.WriteLine($"Have new message. Process started." + context.Message.MailID); //Console.WriteLine("context.Message.CompanyId " + context.Message.CompanyId); //Console.WriteLine("context.Message.CompanyId " + context.Message.MailID); OutMail outMail = outMailRepository.GetById(Convert.ToInt32(context.Message.MailID)); outMail.State = (int)MailState.Delivered; outMailRepository.Update(outMail); CompanyAccount companyAccount = companyAccountRepository.GetById(Convert.ToInt32(context.Message.CompanyId)); System.Threading.Thread.Sleep(1000); Console.WriteLine("MailProcess3 İşlemi Tamamlandı" + context.Message.MailID); return(Task.CompletedTask); }