public void Handle(CreateRequestFromMessageCommand message) { var user = Sender(message); if (!IsMessageFromProject(user.Email) && !IsMessageFromTargetProcess(user.Email)) { Data.Attachments = message.Attachments; Data.MessageDto = message.MessageDto; Log().Info(string.Format("Creating request from message with id {0} in project {1}", message.MessageDto.ID, message.ProjectId)); var requestDto = new RequestDTO { OwnerID = message.MessageDto.FromID, Name = string.IsNullOrEmpty(message.MessageDto.Subject) ? string.Format("Created from Message with ID {0}", message.MessageDto.ID) : message.MessageDto.Subject, Description = Utils.TextToHtml(message.MessageDto.Body ?? string.Empty), ProjectID = message.ProjectId, SourceType = RequestSourceEnum.Email, IsPrivate = message.IsPrivate, }; Send(new CreateRequestCommand(requestDto)); } else { Log().Info( string.Format( "Not creating request from message with id {0} in project {1} because it has been sent by TargetProcess or the project itself", message.MessageDto.ID, message.ProjectId)); MarkAsComplete(); } }
public override void Execute(MessageDTO dto, AttachmentDTO[] attachments, int[] requesters) { var command = new CreateRequestFromMessageCommand { MessageDto = dto, ProjectId = _projectId, Attachments = attachments, Requesters = requesters }; _bus.SendLocal(command); }
public override void Execute(MessageDTO dto, AttachmentDTO[] attachments) { var command = new CreateRequestFromMessageCommand { MessageDto = dto, ProjectId = _projectId, Attachments = attachments, IsPrivate = false }; _bus.SendLocal(command); }
public override void Execute(MessageDTO dto, AttachmentDTO[] attachments, int[] requesters) { var command = new CreateRequestFromMessageCommand { MessageDto = dto, ProjectId = _projectId, Attachments = attachments, Requesters = requesters, IsPrivate = _isPrivate, SquadId = _squadId }; _bus.SendLocal(command); }
private static UserLite Sender(CreateRequestFromMessageCommand message) { return(ObjectFactory.GetInstance <UserRepository>().GetById(message.MessageDto.FromID)); }