public static void CompareContractWithSavedEntity(EnergyTrading.MDM.Contracts.Sample.Broker contract)
        {
            int id = int.Parse(contract.Identifiers.Where(x => x.IsMdmId).First().Identifier);
            var savedEntity = new DbSetRepository(new DbContextProvider(() => new SampleMappingContext())).FindOne<MDM.Broker>(id);

            CompareContractWithEntityDetails(contract, savedEntity);
        }
        public static void ConfirmEntitySaved(int id, EnergyTrading.MDM.Contracts.Sample.Broker contract)
        {
            var savedEntity =
                new DbSetRepository(new DbContextProvider(() => new SampleMappingContext())).FindOne<MDM.Broker>(id);
            contract.Identifiers.Add(new MdmId() { IsMdmId = true, Identifier = id.ToString() });

            CompareContractWithEntityDetails(contract, savedEntity);
        }
partial         void AddDetailsToContract(EnergyTrading.MDM.Contracts.Sample.Location contract)
        {
            var locationType = Guid.NewGuid().ToString();
            this.repository.Add<MDM.ReferenceData>(
                new MDM.ReferenceData() { Key = "LocationType", Value = locationType });
            this.repository.Flush();

            contract.Details = new LocationDetails { Name = Guid.NewGuid().ToString(), Type = locationType };
        }
        public static void Compare(EnergyTrading.MDM.Contracts.Sample.Party contract, MDM.Party entity)
        {
            PartyDetails detailsToCompare = entity.Details[0];

            if (contract.MdmSystemData != null)
            {
                detailsToCompare = entity.Details.Where(details => details.Validity.Start == contract.MdmSystemData.StartDate).First();
            }

            Assert.AreEqual(contract.Details.Name, detailsToCompare.Name);
            Assert.AreEqual(contract.Details.FaxNumber, detailsToCompare.Fax);
            Assert.AreEqual(contract.Details.TelephoneNumber, detailsToCompare.Phone);
            Assert.AreEqual(contract.Details.Role, detailsToCompare.Role);
        }
        public static void CompareContractWithEntityDetails(EnergyTrading.MDM.Contracts.Sample.Exchange contract, MDM.Exchange entity)
        {
            MDM.ExchangeDetails correctDetail = null;

            if (entity.Details.Count == 1)
            {
                correctDetail = entity.Details[0] as MDM.ExchangeDetails;
            }
            else
            {
                correctDetail = (MDM.ExchangeDetails)entity.Details.Where(
                    x => x.Validity.Start >= contract.MdmSystemData.StartDate && x.Validity.Finish >= contract.MdmSystemData.EndDate).First();
            }

            Assert.AreEqual(contract.Details.Name, correctDetail.Name);
            Assert.AreEqual(contract.Details.Phone, correctDetail.Phone);
            Assert.AreEqual(contract.Details.Fax, correctDetail.Fax);
            Assert.AreEqual(contract.Party.MdmId(), entity.Party.Id);
        }
        private static void AddDetailsToContract(EnergyTrading.MDM.Contracts.Sample.Broker contract)
        {
            var entity = ObjectMother.Create<Broker>();
            repository.Add(entity);
            repository.Flush();

            contract.Details = new EnergyTrading.MDM.Contracts.Sample.BrokerDetails()
                {
                    Name = entity.LatestDetails.Name,
                    Phone = (entity.LatestDetails as BrokerDetails).Phone,
                    Fax = (entity.LatestDetails as BrokerDetails).Fax,
                    Rate = (entity.LatestDetails as BrokerDetails).Rate,
                };

            contract.Party = entity.Party.CreateNexusEntityId(() => "");
        }
partial         void AddDetailsToContract(EnergyTrading.MDM.Contracts.Sample.Person contract);
        public static EnergyTrading.MDM.Contracts.Sample.Broker MakeChangeToContract(EnergyTrading.MDM.Contracts.Sample.Broker currentContract)
        {
            var entity = ObjectMother.Create<Broker>();
            repository.Add(entity);
            repository.Flush();

            currentContract.Details = new EnergyTrading.MDM.Contracts.Sample.BrokerDetails()
                {
                    Name = entity.LatestDetails.Name,
                    Phone = (entity.LatestDetails as BrokerDetails).Phone,
                    Fax = (entity.LatestDetails as BrokerDetails).Fax,
                    Rate = (entity.LatestDetails as BrokerDetails).Rate,
                };

            currentContract.MdmSystemData.StartDate = currentContract.MdmSystemData.StartDate.Value.AddDays(2);
            return currentContract;
        }
 public void CompareContractWithEntityDetails(EnergyTrading.MDM.Contracts.Sample.Party contract, MDM.Party entity)
 {
     PartyComparer.Compare(contract, entity);
 }
 public static void Compare(EnergyTrading.Mdm.Contracts.SourceSystem contract, MDM.SourceSystem entity)
 {
     Assert.AreEqual(contract.Details.Name, entity.Name);
     Assert.IsTrue(contract.Details.Parent == null && entity.Parent == null || contract.Details.Parent.MdmId() == entity.Parent.Id);
 }
partial         void AddDetailsToContract(EnergyTrading.MDM.Contracts.Sample.Person contract)
        {
            contract.Details = new EnergyTrading.MDM.Contracts.Sample.PersonDetails { Forename = Guid.NewGuid().ToString(), Surname = Guid.NewGuid().ToString(), Email = "*****@*****.**" };
        }
partial         void AddDetailsToContract(EnergyTrading.Mdm.Contracts.SourceSystem contract);
 public static void Compare(EnergyTrading.MDM.Contracts.Sample.Location contract, Location entity)
 {
     Assert.AreEqual(contract.Details.Name, entity.Name);
     Assert.AreEqual(contract.Details.Type, entity.Type);
 }
partial         void AddRelatedEntities(EnergyTrading.MDM.Contracts.Sample.Location contract);
partial         void AddDetailsToContract(EnergyTrading.MDM.Contracts.Sample.Party contract)
        {
            contract.Details = new EnergyTrading.MDM.Contracts.Sample.PartyDetails() { Name = Guid.NewGuid().ToString() };
        }
partial         void AddRelatedEntities(EnergyTrading.MDM.Contracts.Sample.Exchange contract);
        private static void AddDetailsToContract(EnergyTrading.MDM.Contracts.Sample.Exchange contract)
        {
            var entity = ObjectMother.Create<Exchange>();
            repository.Add(entity);
            repository.Flush();

            contract.Details = new EnergyTrading.MDM.Contracts.Sample.ExchangeDetails()
                {
                    Name = entity.Details[0].Name,
                    Phone = (entity.Details[0] as ExchangeDetails).Phone,
                    Fax = (entity.Details[0] as ExchangeDetails).Fax,
                };

            contract.Party = entity.Party.CreateNexusEntityId(() => "");
        }
 public void CompareContractWithEntityDetails(EnergyTrading.Mdm.Contracts.SourceSystem contract, MDM.SourceSystem entity)
 {
     SourceSystemComparer.Compare(contract, entity);
 }
partial         void AddDetailsToContract(EnergyTrading.Mdm.Contracts.SourceSystem contract)
        {
            contract.Details.Name = Guid.NewGuid().ToString();
        }
 public EnergyTrading.Mdm.Contracts.SourceSystem MakeChangeToContract(EnergyTrading.Mdm.Contracts.SourceSystem currentContract)
 {
     this.AddDetailsToContract(currentContract);
     currentContract.MdmSystemData.StartDate = currentContract.MdmSystemData.StartDate.Value.AddDays(2);
     return currentContract;
 }
partial         void AddRelatedEntities(EnergyTrading.MDM.Contracts.Sample.Counterparty contract);
partial         void AddRelatedEntities(EnergyTrading.MDM.Contracts.Sample.Exchange contract)
        {
            contract.Party = new EntityId() { Identifier = new MdmId() { IsMdmId = true, Identifier = "1" } };
        }
 public EnergyTrading.MDM.Contracts.Sample.Person MakeChangeToContract(EnergyTrading.MDM.Contracts.Sample.Person currentContract)
 {
     this.AddDetailsToContract(currentContract);
     currentContract.MdmSystemData.StartDate = currentContract.MdmSystemData.StartDate.Value.AddDays(2);
     return currentContract;
 }
partial         void AddRelatedEntities(EnergyTrading.MDM.Contracts.Sample.Broker contract);
 public void CompareContractWithEntityDetails(EnergyTrading.MDM.Contracts.Sample.Location contract, MDM.Location entity)
 {
     LocationComparer.Compare(contract, entity);
 }