Example #1
0
        public static IdentifierSummary Create(IIdentifierSummary identifierSummary)
        {
            if (null == identifierSummary)
            {
                throw new ArgumentNullException(nameof(identifierSummary));
            }

            return(new IdentifierSummary(identifierSummary.Identifier, identifierSummary.IdentifierAlias)
            {
                IsMaster = identifierSummary.IsMaster
            });
        }
        public void AddSecondaryIdentifier(IIdentifierSummary identifierSummary)
        {
            if (null == identifierSummary)
            {
                throw new ArgumentNullException(nameof(identifierSummary));
            }

            if (!(identifierSummary is IdentifierSummary))
            {
                identifierSummary = IdentifierSummary.Create(identifierSummary);
            }

            if (identifierSummary.IsMaster)
            {
                throw new InvalidOperationException("identifierSummary.IsMaster");
            }

            var entity = (IdentifierSummary)identifierSummary;

            //var certificate = FindCertificate(identifierSummary.Identifier, false, false, false);

            //if (CertificateDegree.Capitaller == certificate.Degree)
            //    entity.IsCapitaller = true;

            if (Session.AuthenticationService.HasConnectionSettings)
            {
                using (var context = new DataContext(Session.AuthenticationService.GetConnectionSettings()))
                {
                    var identifier = identifierSummary.Identifier;

                    if (context.IdentifierSummaries.Any(e => e.Identifier == identifier))
                    {
                        return;
                    }

                    context.IdentifierSummaries.Add(entity);
                    context.SaveChanges();
                }
            }
            else
            {
                lock (Anchor)
                {
                    if (IdentifierSummaries.Any(e => e.Identifier == identifierSummary.Identifier))
                    {
                        return;
                    }

                    IdentifierSummaries.Add(entity);
                }
            }
        }