コード例 #1
0
        public void GetCustomerUser_ValidCustomerUser_ReturnsResult()
        {
            //Arrange
            var customerUser = new DbUserCustomer
            {
                fk_CustomerID  = 88,
                fk_CustomerUID = Guid.NewGuid(),
                fk_UserUID     = Guid.NewGuid(),
                LastUserUTC    = DateTime.UtcNow,
                UserCustomerID = 123
            };
            var config = new ComparisonConfig
            {
                IgnoreObjectTypes             = true,
                MaxMillisecondsDateDifference = 500,
                MaxDifferences = 0
            };
            var assetCustomerCompareLogic = new CompareLogic(config);

            transaction.Get <DbUserCustomer>(Arg.Any <string>()).Returns(new List <DbUserCustomer> {
                customerUser
            });

            //Act
            var resultData = userCustomerService.GetCustomerUser(customerUser.fk_CustomerUID, customerUser.fk_UserUID);

            //Arrange
            Assert.NotNull(resultData);
            ComparisonResult compareResult = assetCustomerCompareLogic.Compare(customerUser, resultData);

            Assert.True(compareResult.Differences.Count == 0);
        }
コード例 #2
0
 private bool ValidateCustomerUserObject(dynamic source, DbUserCustomer target,
                                         DbCustomer customerDetail)
 {
     return(target.fk_CustomerUID == source.CustomerUID &&
            target.fk_UserUID == source.UserUID &&
            target.fk_CustomerID == customerDetail.CustomerID);
 }
コード例 #3
0
        public bool AssociateCustomerUser(AssociateCustomerUserEvent associateCustomerUser)
        {
            try
            {
                var customer = GetCustomer(associateCustomerUser.CustomerUID);
                if (customer?.CustomerID > 0)
                {
                    List <KafkaMessage> messages = CustomerTopics
                                                   ?.Select(topic => new KafkaMessage
                    {
                        Key     = associateCustomerUser.CustomerUID.ToString(),
                        Message = new { AssociateCustomerUserEvent = associateCustomerUser },
                        Topic   = topic
                    })
                                                   ?.ToList();

                    var userCustomer = new DbUserCustomer
                    {
                        fk_CustomerID  = customer.CustomerID,
                        fk_CustomerUID = associateCustomerUser.CustomerUID,
                        fk_UserUID     = associateCustomerUser.UserUID,
                        LastUserUTC    = DateTime.UtcNow
                    };

                    var actions = new List <Action>
                    {
                        () => transaction.Upsert(userCustomer),
                        () => transaction.Publish(messages)
                    };
                    return(transaction.Execute(actions));
                }

                return(false);
            }
            catch (Exception ex)
            {
                logger.LogError($"Error while associating user for customer : {ex.Message}, {ex.StackTrace}");
                throw;
            }
        }