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();
            }
        }
示例#2
0
        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)
		{
			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));
 }