Пример #1
0
       /// <summary>
        /// Update claim detail title
       /// </summary>
        /// <param name="point">Component Change</param>
        /// <param name="claimInvolvement">Claim Involvement</param>
        private void UpdateClaimDetailTitle(ProcessInvocationPoint point, ClaimInvolvement claimInvolvement)
        {
            claimInvolvement.ClaimHeader.ClaimDetails.ForEach(claimDetail =>
            {
                if (claimDetail.ClaimDetailToClaimInvolvementLinks.Any(y => y.ClaimInvolvement.ClaimInvolvementType == (short)StaticValues.LinkableComponentType.NameInvolvement && y.ClaimNameInvolvement != null && y.ClaimNameInvolvement.NameInvolvementType == (short)StaticValues.NameInvolvementType_ClaimNameInvolvement.AdditionalClaimant))
                {
                    ClaimDetailToClaimInvolvementLink link = claimDetail.ClaimDetailToClaimInvolvementLinks.Where(y => y.ClaimInvolvement.ClaimInvolvementType == (short)StaticValues.LinkableComponentType.NameInvolvement
                    && y.ClaimNameInvolvement != null && y.ClaimNameInvolvement.NameInvolvementType == (short)StaticValues.NameInvolvementType_ClaimNameInvolvement.AdditionalClaimant).First();

                    if (link != null)
                    {
                        ClaimsBusinessLogicHelper.SetClaimDetailTitle(link, point);
                    }
                }
            });
        }       
        internal static void TestInitialize(ref ClaimEvent component, ref ProductEvent pce)
        {
            component = new ClaimEvent();
            component.ProductEventID = 34;

            if (pce == null)
            {
                pce = new ProductEvent();
            }

            component.InternalClaimHeader = new ClaimHeader();
            component.ClaimHeader.InternalClaimDetails.Add(new ClaimDetail() { ClaimDetailReference = "D0001" });
            ClaimInvolvement claimInvolvement = new ClaimInvolvement() { InternalClaimHeader = component.InternalClaimHeader, ClaimInvolvementType = (short)Xiap.Metadata.Data.Enums.StaticValues.LinkableComponentType.NameInvolvement, InternalClaimNameInvolvements = new System.Data.Objects.DataClasses.EntityCollection<ClaimNameInvolvement>() };
            ClaimNameInvolvement nameInvolvement = new ClaimNameInvolvement() { NameInvolvementType = (short)StaticValues.NameInvolvementType_ClaimNameInvolvement.MainClaimHandler, NameInvolvementMaintenanceStatus = (short)StaticValues.ClaimNameInvolvementMaintenanceStatus.Latest, NameID = 1 };
            claimInvolvement.InternalClaimNameInvolvements.Add(nameInvolvement);
            component.InternalClaimHeader.InternalClaimInvolvements.Add(claimInvolvement);

            pce.ProductVersion = new ProductVersion();
            pce.ProductVersion.Product = new Product();
            pce.ProductVersion.Product.Code = "TST";

            pce.EventType = new EventType();
            pce.EventType.IsStatusChangeEvent = false;
            pce.EventType.IsSystemCreationAllowed = false;
            pce.EventType.IsManualCreationAllowed = true;
            pce.EventType.IsManualDeletionAllowed = true;
            pce.EventType.Code = "ABCD";
            pce.EventTypeReference.SetEntityKey(new System.Data.EntityKey("MetadataEntities.EventType", "Code", "ABCD"));

            IComponentMetadata metadata = MockRepository.GenerateStub<IComponentMetadata>();
            metadata.Stub(m => m.GetDefinitionComponent<EventType>()).Return(pce.EventType);

            UnityContainer container = new UnityContainer();
            container.RegisterType<IMessageService, MessageService>();
            container.RegisterInstance<IComponentMetadata>(metadata);

            var metadataMock = MockRepository.GenerateStub<IMetadataQuery>();
            var list = new List<ProductEvent>() { pce };
            long productEventID = 34;

            metadataMock.Stub(m => m.GetProductEvent(productEventID));

            var listEventType = new List<EventType>() { pce.EventType };
            metadataMock.Stub(m => m.GetEventType("ABCD")).Return(listEventType.AsQueryable());

            EventTypeVersion etv = new EventTypeVersion();
            etv.EventTypeVersionID = 34;
            var listTypeVersion = new List<EventTypeVersion>() { etv };
            metadataMock.Stub(m => m.GetEventTypeVersion("ABCD")).Return(listTypeVersion.AsQueryable());

         

            container.RegisterInstance<IMetadataQuery>(metadataMock);
            container.RegisterType<ObjectContext, MetadataEntities>("MetadataEntities", new InjectionConstructor[] { new InjectionConstructor(new object[] { }) });
            container.RegisterType<MetadataEntities>("MetadataEntities", new InjectionConstructor[] { new InjectionConstructor(new object[] { }) });
            IConfigurationManager configurationManager = MockRepository.GenerateStub<IConfigurationManager>();
            configurationManager.Stub(m => m.AppSettings).Return(new System.Collections.Specialized.NameValueCollection());
            container.RegisterInstance<IConfigurationManager>(configurationManager);
            ObjectFactory.Instance = new ObjectFactory(container);

            component.Context = new ClaimsTransactionContext(string.Empty, string.Empty, string.Empty);
        }
 /// <summary>
 /// Check if the ClaimHandler is a new name.
 /// </summary>
 /// <param name="claimInvolvement">Claim Involvement</param>
 /// <returns>return true if ClaimHandler is modified</returns>
  private bool IsMainClaimHandlerModified(ClaimInvolvement claimInvolvement)
  {
      return claimInvolvement.ClaimNameInvolvements.Any(a => a.NameInvolvementType == (short)StaticValues.NameInvolvementType.MainClaimHandler && a.IsNew == true);
  }