Ejemplo n.º 1
0
        private bool Update(AssetOwnerEvent assetOwner)
        {
            AssetOwnerInfo existingAssetOwner = _assetOwnerRepository.GetExistingAssetOwner(assetOwner.AssetUID.Value);

            var compareResult = CheckExistingAssetOwnerForUpdate(existingAssetOwner, assetOwner);

            if (!compareResult)
            {
                Guid?customerUid     = existingAssetOwner.CustomerUID == null ? (Guid?)null : new Guid(existingAssetOwner.CustomerUID);
                Guid?accountUid      = existingAssetOwner.AccountUID == null? (Guid?)null : new Guid(existingAssetOwner.AccountUID);
                Guid?dealerUid       = existingAssetOwner.DealerUID == null ? (Guid?)null : new Guid(existingAssetOwner.DealerUID);
                var  assetOwnerEvent = new AssetOwnerEvent
                {
                    AssetUID         = assetOwner.AssetUID,
                    AssetOwnerRecord = new ClientModel.AssetOwner
                    {
                        DealerUID           = assetOwner.AssetOwnerRecord.DealerUID == null ? dealerUid : (assetOwner.AssetOwnerRecord.DealerUID == Guid.Empty ? null : assetOwner.AssetOwnerRecord.DealerUID),
                        DealerName          = assetOwner.AssetOwnerRecord.DealerName == null ? existingAssetOwner.DealerName : (string.IsNullOrWhiteSpace(assetOwner.AssetOwnerRecord.DealerName) ? null : assetOwner.AssetOwnerRecord.DealerName),
                        CustomerName        = assetOwner.AssetOwnerRecord.CustomerName == null ? existingAssetOwner.CustomerName : (string.IsNullOrWhiteSpace(assetOwner.AssetOwnerRecord.CustomerName) ? null : assetOwner.AssetOwnerRecord.CustomerName),
                        AccountName         = assetOwner.AssetOwnerRecord.AccountName == null ? existingAssetOwner.AccountName : (string.IsNullOrWhiteSpace(assetOwner.AssetOwnerRecord.AccountName) ? null : assetOwner.AssetOwnerRecord.AccountName),
                        DealerAccountCode   = assetOwner.AssetOwnerRecord.DealerAccountCode == null ? existingAssetOwner.DealerAccountCode : (string.IsNullOrWhiteSpace(assetOwner.AssetOwnerRecord.DealerAccountCode) ? null : assetOwner.AssetOwnerRecord.DealerAccountCode),
                        NetworkCustomerCode = assetOwner.AssetOwnerRecord.NetworkCustomerCode == null ? existingAssetOwner.NetworkCustomerCode : (string.IsNullOrWhiteSpace(assetOwner.AssetOwnerRecord.NetworkCustomerCode) ? null : assetOwner.AssetOwnerRecord.NetworkCustomerCode),
                        NetworkDealerCode   = assetOwner.AssetOwnerRecord.NetworkDealerCode == null ? existingAssetOwner.NetworkDealerCode : (string.IsNullOrWhiteSpace(assetOwner.AssetOwnerRecord.NetworkDealerCode) ? null : assetOwner.AssetOwnerRecord.NetworkDealerCode),
                        CustomerUID         = assetOwner.AssetOwnerRecord.CustomerUID == null ? customerUid : (assetOwner.AssetOwnerRecord.CustomerUID == Guid.Empty ? null : assetOwner.AssetOwnerRecord.CustomerUID),
                        AccountUID          = assetOwner.AssetOwnerRecord.AccountUID == null ? accountUid : (assetOwner.AssetOwnerRecord.AccountUID == Guid.Empty ? null : assetOwner.AssetOwnerRecord.AccountUID)
                    },
                    Action      = Operation.Update,
                    ActionUTC   = DateTime.UtcNow,
                    ReceivedUTC = DateTime.UtcNow
                };
                return(_assetOwnerRepository.UpdateAssetOwnerEvent(assetOwnerEvent));
            }
            return(compareResult);
        }
Ejemplo n.º 2
0
        private bool CheckExistingAssetOwnerForUpdate(AssetOwnerInfo existingAssetOwner, AssetOwnerEvent assetowner)
        {
            bool areEqual = false;

            string customerUid = assetowner.AssetOwnerRecord.CustomerUID == null ? null : (assetowner.AssetOwnerRecord.CustomerUID == Guid.Empty ? null : new Guid(assetowner.AssetOwnerRecord.CustomerUID.ToString()).ToString("N").ToUpper());
            string dealerUid   = assetowner.AssetOwnerRecord.DealerUID == null ? null : (assetowner.AssetOwnerRecord.DealerUID == Guid.Empty ? null : new Guid(assetowner.AssetOwnerRecord.DealerUID.ToString()).ToString("N").ToUpper());
            string accountUid  = assetowner.AssetOwnerRecord.AccountUID == null ? null : (assetowner.AssetOwnerRecord.AccountUID == Guid.Empty ? null : new Guid(assetowner.AssetOwnerRecord.AccountUID.ToString()).ToString("N").ToUpper());

            string networkCustomerCode = assetowner.AssetOwnerRecord.NetworkCustomerCode;
            string dealerAccountCode   = assetowner.AssetOwnerRecord.DealerAccountCode;
            string networkDealerCode   = assetowner.AssetOwnerRecord.NetworkDealerCode;
            string accountName         = assetowner.AssetOwnerRecord.AccountName;
            string customerName        = assetowner.AssetOwnerRecord.CustomerName;
            string dealerName          = assetowner.AssetOwnerRecord.DealerName;

            if (existingAssetOwner.DealerUID == dealerUid && existingAssetOwner.CustomerUID == customerUid && existingAssetOwner.NetworkCustomerCode == networkCustomerCode &&
                existingAssetOwner.AccountUID == accountUid && existingAssetOwner.DealerAccountCode == dealerAccountCode && existingAssetOwner.NetworkDealerCode == networkDealerCode &&
                existingAssetOwner.AccountName == accountName && existingAssetOwner.CustomerName == customerName && existingAssetOwner.DealerName == dealerName)
            {
                areEqual = true;
            }
            return(areEqual);
        }