예제 #1
0
 public ReplyAppService(
     ICommentManager commentManager,
     IReplyManager replyManager)
 {
     _commentManager = commentManager;
     _replyManager   = replyManager;
 }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of <see cref="MessageManager"/> using the given parameters.
        /// </summary>
        /// <exception cref="ArgumentException"/>
        /// <exception cref="ArgumentOutOfRangeException"/>
        /// <param name="cs">Client settings</param>
        /// <param name="repMan">A reply manager to create appropriate response to a given message</param>
        /// <param name="ns">Node status</param>
        public MessageManager(IClientSettings cs, IReplyManager repMan, INodeStatus ns)
        {
            if (cs is null)
            {
                throw new ArgumentNullException(nameof(cs), "Client settings can not be null.");
            }
            if (repMan is null)
            {
                throw new ArgumentNullException(nameof(repMan), "Reply manager can not be null.");
            }
            if (ns is null)
            {
                throw new ArgumentNullException(nameof(ns), "Node status can not be null.");
            }

            netType    = cs.Network;
            magicBytes = netType switch
            {
                NetworkType.MainNet => Base16.Decode(Constants.MainNetMagic),
                NetworkType.TestNet => Base16.Decode(Constants.TestNetMagic),
                NetworkType.RegTest => Base16.Decode(Constants.RegTestMagic),
                _ => throw new ArgumentException(Err.InvalidNetwork)
            };

            replyManager = repMan;
            NodeStatus   = ns;

            buffLen            = cs.BufferLength;
            toSendQueue        = new Queue <Message>();
            IsReceiveCompleted = true;
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of <see cref="MessageManager"/> using the given parameters.
        /// </summary>
        /// <exception cref="ArgumentException"/>
        /// <exception cref="ArgumentOutOfRangeException"/>
        /// <param name="bufferLength">Size of the buffer used for each <see cref="SocketAsyncEventArgs"/> object</param>
        /// <param name="repMan">A reply manager to create appropriate response to a given message</param>
        /// <param name="ns">Node status</param>
        /// <param name="netType">[Default value = <see cref="NetworkType.MainNet"/>] Network type</param>
        public MessageManager(int bufferLength, IReplyManager repMan, INodeStatus ns,
                              NetworkType netType = NetworkType.MainNet)
        {
            if (bufferLength <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(bufferLength), "Buffer length can not be negative or zero.");
            }
            if (repMan is null)
            {
                throw new ArgumentNullException(nameof(repMan), "Reply manager can not be null.");
            }

            magicBytes = netType switch
            {
                NetworkType.MainNet => Base16.Decode(Constants.MainNetMagic),
                NetworkType.TestNet => Base16.Decode(Constants.TestNetMagic),
                NetworkType.RegTest => Base16.Decode(Constants.RegTestMagic),
                _ => throw new ArgumentException(Err.InvalidNetwork)
            };
            this.netType = netType;

            replyManager = repMan;
            NodeStatus   = ns;

            buffLen = bufferLength;
            Init();
        }
예제 #4
0
        public void ReadBytesTest(IReplyManager repMan, byte[] buffer, int buffLen, bool hasSend)
        {
            MessageManager man = new MessageManager(30, repMan, new NodeStatus());

            man.ReadBytes(buffer, buffLen, 0);
            Assert.Equal(hasSend, man.HasDataToSend);
        }
 public FeedbackController(IRequisitionManager requisitionManager, IReplyManager replyManager, IFeedbackManager feedbackManager,
                           IAssignRequisitionManager assignRequisitionManager, INotificationManager notificationManager, IRequisitionHistoryManager requisitionHistoryManager)
 {
     this._requisitionManager = requisitionManager;
     this._feedbackManager    = feedbackManager;
     this._replyManager       = replyManager;
 }
예제 #6
0
 public SendReplyCommand(IReplyManager replyManager, IMapper mapper, INotifier notifier,
                         IHttpContextReader httpContextReader)
 {
     this.replyManager      = replyManager;
     this.mapper            = mapper;
     this.notifier          = notifier;
     this.httpContextReader = httpContextReader;
 }
예제 #7
0
 public RepliesController(IReplyManager replyManager, IPostManager postManager, IMapper mapper,
                          UserManager <User> userManager)
 {
     _userManager  = userManager;
     _replyManager = replyManager;
     _postManager  = postManager;
     _mapper       = mapper;
 }
예제 #8
0
 public ReplyController(IRequisitionManager requisitionManager, IEmployeeManager employeeManager, IFeedbackManager feedbackManager,
                        IAssignRequisitionManager assignRequisitionManager, IReplyManager replyManager, IRequisitionHistoryManager requisitionHistoryManager)
 {
     this._requisitionManager = requisitionManager;
     this._feedbackManager    = feedbackManager;
     this._employeeManager    = employeeManager;
     this._replyManager       = replyManager;
 }
예제 #9
0
 public IdentityUnitOfWork(string connectionString)
 {
     db              = new ApplicationContext(connectionString);
     userManager     = new ApplicationUserManager(new UserStore <ApplicationUser>(db));
     roleManager     = new ApplicationRoleManager(new RoleStore <ApplicationRole>(db));
     clientManager   = new ClientManager(db);
     questionManager = new QuestionManager(db);
     themeManager    = new ThemeManager(db);
     replyManager    = new ReplyManager(db);
 }
예제 #10
0
 public ReplyComposerService(IReplyManager replyManager)
 {
     _replyManager = replyManager;
 }
예제 #11
0
 public RepliesController(IReplyManager replyManager, IReplyComposerService replyComposerService)
 {
     _replyManager         = replyManager;
     _replyComposerService = replyComposerService;
 }