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); }
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); }