コード例 #1
0
    public void Returns_IsBau_When_Claim_DoesNotExist()
    {
        var builderUnitOfWork = new UnitOfWorkMockBuilder(true);

        var claimId = "666";         // The DEVIL!!!!!
        var process = "MyAwesomeProcess";

        // -----
        // ARRANGE
        // -----
        var depUnitOfWork        = builderUnitOfWork.CreateMock().Object;
        var depProcess           = depUnitOfWork.Processes.GetAll().Where(x => x.FriendlyName == process).First();
        var depClaimMessage      = new ClaimMessage();
        var mockValidationResult = null as IValidationResult;

        depClaimMessage.ClaimId = claimId;
        depClaimMessage.StpClaimRequestProcessId = depProcess.Stp_Process_Code_Id;

        // -----
        // ACT
        // -----
        var rule = new ClaimExistsRule();

        rule.UnitOfWork = depUnitOfWork;

        mockValidationResult = rule.Validate(depClaimMessage);

        // -----
        // ASSERT
        // -----
        Assert.AreEqual(ClaimAction.IsBAU, mockValidationResult.Action);
    }
コード例 #2
0
        private void Enqueue(ClaimMessage claimMessage)
        {
            var queueName = ConfigurationManager.AppSettings[Settings.Messaging.Queue.Name].ToString();
            var queue     = new MessageQueue(queueName);

            queue.DefaultPropertiesToSend.Recoverable = true;

            TraceHandler.TraceAppend(FORMAT_QUEUE_NAME, queueName);

            MessageQueueTransaction transaction;

            transaction = new MessageQueueTransaction();
            transaction.Begin();

            var message = new System.Messaging.Message();

            message.Formatter = new XmlMessageFormatter(new Type[] { typeof(ClaimMessage) });

            message.Label = "ClaimID " + claimMessage.ClaimID;

            message.Body = claimMessage;
            queue.Send(message, transaction);

            transaction.Commit();
            queue.Close();
        }
コード例 #3
0
        public async Task Delete(ClaimMessage claimMessage)
        {
            var claimMessageDb = claimMessage.Adapt <ClaimMessageDB>();

            applicationDbContext.Remove(claimMessageDb);
            applicationDbContext.SaveChanges();
        }
コード例 #4
0
        private ClaimMessage CreateClaimMessage(string claimId, string process)
        {
            ClaimMessage message = new ClaimMessage();

            message.ClaimID = claimId;
            message.Process = process;

            return(message);
        }
コード例 #5
0
ファイル: ClaimRepository.cs プロジェクト: rythos42/ladder
 private ClaimMessageDto AssembleClaimMessageDto(ClaimMessage claimMessage)
 {
     return(new ClaimMessageDto
     {
         AuthorUsername = claimMessage.Message.AuthorUsername,
         Text = claimMessage.Message.Text,
         WrittenOnDate = claimMessage.Message.WrittenOnDate
     });
 }
コード例 #6
0
        private void EnqueueToPoison(Exception exception, ClaimMessage claimdata)
        {
            TraceHandler.TraceIn(TraceLevel.Info);

            var poison  = ToPoisonMessage(exception, claimdata);
            var message = new System.Messaging.Message();

            try
            {
                var poisonQueueName = ConfigurationManager.AppSettings[Settings.Messaging.PoisonQueue.Name].ToString();

                TraceHandler.TraceAppend(FORMAT_QUEUE_NAME, poisonQueueName);

                if (MessageQueue.Exists(poisonQueueName))
                {
                    var queue = new MessageQueue(poisonQueueName);
                    queue.DefaultPropertiesToSend.Recoverable = true;

                    var transaction = new MessageQueueTransaction();
                    transaction.Begin();

                    message.Formatter = new XmlMessageFormatter(new Type[] { typeof(PoisonClaimMessage) });
                    message.Label     = "Poison ClaimID " + poison.ClaimID;

                    var xmlSerializer = new XmlSerializer(poison.GetType());
                    xmlSerializer.Serialize(message.BodyStream, poison);

                    queue.Send(message, transaction);

                    TraceHandler.TraceAppend(FORMAT_ENQUEUED_POISON_SUCCESS, poison.ClaimID);

                    transaction.Commit();
                    queue.Close();
                }
            }
            catch (Exception ex)
            {
                // An error occurred while enqueuing to POISON
                var poisonXml = ToString(poison);

                TraceHandler.TraceError(ex);
                TraceHandler.TraceAppend(poisonXml);
            }
            finally
            {
                TraceHandler.TraceOut();
            }
        }
コード例 #7
0
        public async Task <long> Upload(ClaimMessage claimMessage)
        {
            try
            {
                var claimMessageDb = claimMessage.Adapt <ClaimMessageDB>();

                applicationDbContext.Add(claimMessageDb);
                applicationDbContext.SaveChanges();

                return(claimMessageDb.Id);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #8
0
 public async Task <long> Upload(ClaimMessage message)
 {
     return(await claimMessagesRepository.Upload(message));
 }
コード例 #9
0
ファイル: KnowledgeBase.cs プロジェクト: dtbinh/SocraticSwarm
    private void ProcessClaim(Packet p)
    {
        ClaimMessage claimMsg = (ClaimMessage)p.message;

        this.bidKnowledge.RecvClaimedMessage(p.src.ID, claimMsg.tileId, claimMsg.agentId, claimMsg.bestBidAmount);
    }
コード例 #10
0
 public async Task Delete(ClaimMessage claimMessage)
 {
     await claimMessagesRepository.Delete(claimMessage);
 }