BinaryStudio.ClientManager.DomainModel.Input.MailMessagePersister.ProcessMessage C# (CSharp) Method

ProcessMessage() public method

public ProcessMessage ( object sender, EventArgs args ) : void
sender object
args System.EventArgs
return void
        public void ProcessMessage(object sender, EventArgs args)
        {
            var unreadMessages = emailClient.GetUnreadMessages();
            foreach (var message in unreadMessages)
            {
                var convertedMessage = Convert(message);

                var messageReceiver = convertedMessage.Receivers.FirstOrDefault();
                var messageSender = convertedMessage.Sender;
                var ownerPerson = repository.Query<User>(x => x.Teams,x=>x.RelatedPerson).FirstOrDefault(x => x.RelatedPerson.Id == messageReceiver.Id);
                if (ownerPerson == null)
                {
                    ownerPerson = repository.Query<User>(x => x.Teams, x => x.RelatedPerson).FirstOrDefault(x => x.RelatedPerson.Id == messageSender.Id);
                }

                if (ownerPerson != null)
                {
                    convertedMessage.Owner = ownerPerson.CurrentTeam;
                    repository.Save(convertedMessage);
                }

                createInquiry(convertedMessage);
            }
        }