예제 #1
0
        public Patient Create(Organization organization, PersonName personName, DateTime?dateOfBirth, Gender gender)
        {
            var patient = new Patient(organization, personName, dateOfBirth, gender);

            _patientRepository.MakePersistent(patient);
            return(patient);
        }
        public NewNomineeOfficeLocationParameter(PersonName nomineeName) : base(
                OfficeLocation.ValidEmployeeOfficeLocations, @"office locations")
        {
            _nomineeName = nomineeName ?? throw new ArgumentNullException(nameof(nomineeName));

            RegisterAbortInput(@"done");
        }
예제 #3
0
        private static void TestStructAsRefField()
        {
            Console.WriteLine("\n�ṹ����Ϊ�������ͳ�Ա");
            // ��������
            PersonName name = new PersonName();
            name.last = "Cui";
            name.first = "Xiaoyuan";

            // ������
            Person person = new Person();
            person.age = 27;

            IntPtr nameBuffer = Marshal.AllocCoTaskMem(Marshal.SizeOf(name));
            Marshal.StructureToPtr(name, nameBuffer, false);

            person.name = nameBuffer;

            Console.WriteLine("����ǰ��ʾ����Ϊ��{0}", name.displayName);
            TestStructInStructByRef(ref person);

            PersonName newValue =
                (PersonName)Marshal.PtrToStructure(person.name, typeof(PersonName));

            // �ͷ��ڷ��йܴ����з����PersonNameʵ���ڴ�
            Marshal.DestroyStructure(nameBuffer, typeof(PersonName));

            Console.WriteLine("���ú���ʾ����Ϊ��{0}", newValue.displayName);
        }
예제 #4
0
        public EmailAddressParameter(IGlobalAddressList globalAddressList, PersonName personName)
            : base(globalAddressList, personName)
        {
            _personName = personName ?? throw new ArgumentNullException(nameof(personName));

            RegisterAbortInput(@"stop");
        }
예제 #5
0
        public bool Equals(PatientInfo other)
        {
            PersonName name      = new PersonName(Name);
            PersonName otherName = new PersonName(other.Name);

            return(name.Equals(otherName) && String.Equals(PatientId, other.PatientId, StringComparison.InvariantCultureIgnoreCase));
        }
예제 #6
0
 /// <exception cref="Ca.Infoway.Messagebuilder.Marshalling.HL7.XmlToModelTransformationException"></exception>
 private void HandlePersonName(XmlToModelResult xmlToModelResult, PersonName result, XmlNodeList childNodes)
 {
     foreach (XmlNode childNode in new XmlNodeListIterable(childNodes))
     {
         if (childNode is XmlElement)
         {
             XmlElement element                = (XmlElement)childNode;
             string     name                   = NodeUtil.GetLocalOrTagName(element);
             string     value                  = GetTextValue(element, xmlToModelResult);
             string     qualifierString        = GetAttributeValue(element, NAME_PART_TYPE_QUALIFIER);
             EntityNamePartQualifier qualifier = CodeResolverRegistry.Lookup <EntityNamePartQualifier>(qualifierString);
             if (StringUtils.IsNotBlank(value))
             {
                 result.AddNamePart(new EntityNamePart(value, GetPersonalNamePartType(name), qualifier));
             }
         }
         else
         {
             //GN: Added in fix similar to what was done for AD.BASIC.  Issue with XML containing mixture of elements and untyped text nodes.
             if (IsNonBlankTextNode(childNode))
             {
                 // validation will catch if this type does not allow for a free-form name
                 result.AddNamePart(new EntityNamePart(childNode.Value.Trim(), null));
             }
         }
     }
 }
예제 #7
0
        private static Nomination LoadSuperStarAwardsNominationFromSurveyExport(Row row, int rowNumber)
        {
            var isAnonymousNominator            = row[10] != @"Display My Name (Recommended)";
            var nominatorName                   = PersonName.CreateForNominator(row[9], isAnonymousNominator);
            var nomineeName                     = PersonName.Create(row[12]);
            var awardType                       = AwardType.SuperStar;
            var nomineeOfficeLocation           = OfficeLocation.FindByName(row[14]);
            var hasContinuouslyImproving        = !string.IsNullOrWhiteSpace(row[15]);
            var hasDrivingInnovation            = !string.IsNullOrWhiteSpace(row[16]);
            var hasDelightingCustomers          = !string.IsNullOrWhiteSpace(row[17]);
            var hasBehavingWithIntegrity        = !string.IsNullOrWhiteSpace(row[18]);
            var hasDeliveringMeaningfulOutcomes = !string.IsNullOrWhiteSpace(row[19]);
            var hasStreamingGood                = !string.IsNullOrWhiteSpace(row[20]);
            var writeUp        = NominationWriteUp.Create(nomineeName, row[21]);
            var writeUpSummary = NominationWriteUpSummary.NotApplicable;

            var companyValues = GetCompanyValues(hasContinuouslyImproving, hasDrivingInnovation, hasDelightingCustomers,
                                                 hasBehavingWithIntegrity, hasDeliveringMeaningfulOutcomes, hasStreamingGood);

            var nominee = Person.Create(nomineeName, nomineeOfficeLocation, nomineeName.DerivedEmailAddress);

            var nomination = new Nomination(rowNumber, NomineeVotingIdentifier.Unknown, nominee, awardType,
                                            nominatorName, companyValues, writeUp, writeUpSummary);

            return(nomination);
        }
예제 #8
0
 public void TestEquality()
 {
     var name1 = new PersonName("John", "Doe");
     var name2 = new PersonName("John", "Doe");
     Assert.AreEqual(name1, name1);
     Assert.AreEqual(name1, name2);
 }
예제 #9
0
        public static bool LookLikeSameNames(string name1, string name2)
        {
            name1 = StringUtilities.EmptyIfNull(name1);
            name2 = StringUtilities.EmptyIfNull(name2);
            string normalizedS1 = DicomNameUtils.Normalize(name1, DicomNameUtils.NormalizeOptions.TrimEmptyEndingComponents | DicomNameUtils.NormalizeOptions.TrimSpaces);
            string normalizedS2 = DicomNameUtils.Normalize(name2, DicomNameUtils.NormalizeOptions.TrimEmptyEndingComponents | DicomNameUtils.NormalizeOptions.TrimSpaces);


            // if both have "^", may need manual reconciliation
            // eg: "John ^ Smith" vs  "John  Smith^^" ==> manual
            //     "John ^ Smith" vs  "John ^ Smith^^" ==> auto
            if (name1.Contains("^") && name2.Contains("^"))
            {
                PersonName n1 = new PersonName(normalizedS1);
                PersonName n2 = new PersonName(normalizedS2);
                if (n1.AreSame(n2, PersonNameComparisonOptions.CaseInsensitive))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }


            if (normalizedS1.Length != normalizedS2.Length)
            {
                return(false);
            }

            normalizedS1 = normalizedS1.ToUpper();
            normalizedS2 = normalizedS2.ToUpper();

            if (normalizedS1.Equals(normalizedS2))
            {
                return(true);
            }

            for (int i = 0; i < normalizedS1.Length; i++)
            {
                // If S1[i] is ^ or space, S2[i] must be either ^ or space to be considered being the same
                // Otherwise, S1[i] must be the same as S2[i].
                if (normalizedS1[i] == '^' || normalizedS1[i] == ' ')
                {
                    if (normalizedS2[i] != '^' && normalizedS2[i] != ' ')
                    {
                        return(false);
                    }
                }
                else
                {
                    if (normalizedS1[i] != normalizedS2[i])
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }
        public async Task Rename(int personId, string firstName, string lastName, int suffixId)
        {
            var            firstNameResult = Name.Create(firstName);
            var            lastNameResult  = Name.Create(lastName);
            Maybe <Suffix> maybeSuffix     = Suffix.FromId(suffixId);

            await Result
            .Combine(firstNameResult, lastNameResult, maybeSuffix.ToResult("Suffix is null."))
            .Bind(() => _repository
                  .GetByIdAsync(personId)
                  .ToResult($"Person was not found for ID: {personId}"))
            .Bind(person => PersonName
                  .Create(firstNameResult.Value, lastNameResult.Value, maybeSuffix.Value)
                  .Tap(personName => person.Rename(personName)))
            .Tap(() => _unitOfWork.CommitAsync())
            .Tap(() => _logger.LogInformation($"Person was renamed to {maybeSuffix.Value} {firstName} {lastName}"))
            .OnFailure(error => _logger.LogError(error));

            /*
             * var firstNameResult = Name.Create(firstName);
             * var lastNameResult = Name.Create(lastName);
             * var personNameResult = PersonName.Create(firstNameResult.Value, lastNameResult.Value);
             *
             * var maybePerson = await _repository.GetById(personId);
             * maybePerson.Value.Rename(personNameResult.Value);
             */
        }
예제 #11
0
 public Agent Update(string email, string phoneNumber, string name, string lastname)
 {
     Email       = email;
     PhoneNumber = phoneNumber;
     PersonName.UpdateFrom(new PersonName(name, lastname));
     return(this);
 }
예제 #12
0
 public ClientRegistered(ClientId clientId, IdentityNumber identityNumber, PersonName clientName, TelephoneNumber primaryContactNumber)
 {
     ClientId = clientId;
     IdentityNumber = identityNumber;
     ClientName = clientName;
     PrimaryContactNumber = primaryContactNumber;
 }
        public async Task Create(string firstName, string lastName, int age, int suffixId)
        {
            var            firstNameResult = Name.Create(firstName);
            var            lastNameResult  = Name.Create(lastName);
            var            ageResult       = Age.Create(age);
            Maybe <Suffix> maybeSuffix     = Suffix.FromId(suffixId);

            await Result
            .Combine(firstNameResult, lastNameResult, ageResult)
            .Bind(() => PersonName.Create(firstNameResult.Value, lastNameResult.Value, maybeSuffix.Value))
            .Bind(personName => Person.Create(personName, ageResult.Value))
            .Tap(person => _repository.Save(person))
            .Tap(() => _unitOfWork.CommitAsync())
            .Tap(() => _logger.LogInformation($"Person was stored to db: {firstName} {lastName}"))
            .OnFailure(error => _logger.LogError(error));

            /*
             * var firstNameResult = Name.Create(firstName);
             * var lastNameResult = Name.Create(lastName);
             * var ageResult = Age.Create(age);
             * var personName = PersonName.Create(firstNameResult.Value, lastNameResult.Value);
             * var personResult = Person.Create(personName.Value, ageResult.Value);
             *
             * _repository.Save(personResult.Value);
             * await _unitOfWork.CommitAsync();
             */
        }
예제 #14
0
 public static PersonNameDto ConvertToDto(this PersonName name)
 {
     return(new PersonNameDto()
     {
         Id = name.Id, FirstName = name.FirstName, LastName = name.LastName
     });
 }
예제 #15
0
        private void BtnSelectPerson_Click(object sender, RoutedEventArgs e)
        {
            var winPersonSearch = new WinPersonSearch();

            winPersonSearch.ShowDialog();
            if (winPersonSearch.PersonId == 0)
            {
                return;
            }

            if (PersonId.Contains(winPersonSearch.PersonId))
            {
                Utility.Message("خطا", "این شخص یک‌بار انتخاب شده است", "Stop.png");
                return;
            }
            PersonId.Add(winPersonSearch.PersonId);
            PersonName.Add(winPersonSearch.PersonName);
            PersonFamily.Add(winPersonSearch.PersonFamily);
            PersonFather.Add(winPersonSearch.PersonFather);
            PersonCode.Add(winPersonSearch.PersonCode);
            _createPersons = new List <CreatePerson>();
            for (var i = 0; i < PersonId.Count; i++)
            {
                _createPersons.Add(new CreatePerson(PersonId[i], PersonName[i], PersonFamily[i], PersonFather[i],
                                                    PersonCode[i]));
            }
            DgdPerson.ItemsSource = _createPersons;
        }
예제 #16
0
 public Driver(int driverId, PersonName name, string carColor, string carModel, string carPlateNumber)
     : base(driverId)
 {
     DriverId   = driverId;
     DriverName = name;
     Car        = new Car(carColor, carModel, carPlateNumber);
 }
예제 #17
0
        /// <exception cref="Ca.Infoway.Messagebuilder.Marshalling.HL7.XmlToModelTransformationException"></exception>
        protected override EntityName ParseNode(XmlNode node, XmlToModelResult xmlToModelResult)
        {
            PersonName result = new PersonName();

            HandlePersonName(xmlToModelResult, result, node.ChildNodes);
            return(result);
        }
예제 #18
0
 public Employee(Branch branch, Position position, PersonName name, Gender gender)
     : base(name)
 {
     _branch = branch;
     _position = position;
     base.Gender = gender;
 }
예제 #19
0
        public void GenericValueObject_Comparison_Is_Done_By_Values()
        {
            var max  = new PersonName("Max", "Meier");
            var max2 = new PersonName("Max", "Meier");

            Assert.Equal(max2, max);
        }
 private RegisterCustomer(string emailAddress, string givenName, string familyName)
 {
     CustomerId       = ID.Generate();
     ConfirmationHash = Hash.Generate();
     EmailAddress     = EmailAddress.Build(emailAddress);
     Name             = PersonName.Build(givenName, familyName);
 }
예제 #21
0
 public CustomerRegistered(ID customerId, EmailAddress emailAddress, CustomHash hash, PersonName personName)
 {
     CustomerId   = customerId;
     EmailAddress = emailAddress;
     Hash         = hash;
     PersonName   = personName;
 }
예제 #22
0
        private void Swap(ref PersonName a, ref PersonName b)
        {   //Swap method used for the Sort button.
            PersonName placeholder = a;

            a = b;
            b = placeholder;
        }
        /// <summary>
        /// Converts the JSON property data to a <see cref="PersonName"/>, or <c>null</c> if empty.
        /// </summary>
        /// <param name="propertyType">Type of the property.</param>
        /// <param name="source">The source.</param>
        /// <param name="preview">if set to <c>true</c> [preview].</param>
        /// <returns></returns>
        public override object ConvertDataToSource(PublishedPropertyType propertyType, object source, bool preview)
        {
            if (source == null)
            {
                return(null);
            }

            using (var stream = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(source.ToString())))
            {
                var js    = new DataContractJsonSerializer(typeof(PersonNameValue));
                var value = (PersonNameValue)js.ReadObject(stream);

                var data = new PersonName();
                if (!String.IsNullOrEmpty(value.Titles))
                {
                    data.Titles.AddRange(value.Titles.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
                }
                if (!String.IsNullOrEmpty(value.GivenNames))
                {
                    data.GivenNames.AddRange(value.GivenNames.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
                }
                data.FamilyName = value.FamilyName;
                if (!String.IsNullOrEmpty(value.Suffixes))
                {
                    data.Suffixes.AddRange(value.Suffixes.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
                }

                return(data.ToString().Length > 0 ? data : null);
            }
        }
예제 #24
0
        private void frmMain_Load(object sender, EventArgs e)
        {       //Code for when the form first loads.
            //First half of timer for loading. All actions will contain one of these.
            DateTime start = DateTime.Now;

            //While loop to ensure everything is added to the "names" array, and then is cut up to be just the names, and that's added
            //to the "splitNames" array.
            int index = 0;

            while (!source.EndOfStream && index < names.Length)
            {
                names[index] = source.ReadLine().ToString();
                //All names in the file are formatted like so: "Lastname, FirstName", hence what's being done below.
                string[] nameSplit = names[index].Split(',');
                splitNames[index] = new PersonName(nameSplit[0], nameSplit[1].TrimStart(' '));

                lbNameList.Items.Add(splitNames[index]);
                index++;
            }

            //End of the timer, and how long the entire operation took.
            DateTime end    = DateTime.Now;
            TimeSpan length = end - start;

            //The length of the operation is displayed in the TimeRecords box. Every operation will do the same as this.
            string time = "Loading the form took " + length.Milliseconds + " milliseconds.";

            lbTimeRecords.Items.Add(time);
        }
예제 #25
0
 /// <summary>
 /// converts the string to PersonName object
 /// </summary>
 /// <param name="all">the string. format : [LastName]_[FirstName]</param>
 /// <returns>the PersonName object</returns>
 public static PersonName Parse(string all)
 {
     PersonName r = new PersonName();
     r.lastName = all.Split('_')[0];
     r.firstName = all.Split('_')[1];
     return r;
 }
예제 #26
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((PersonName != null ? PersonName.GetHashCode() : 0) * 397) ^ (OrganizationName != null ? OrganizationName.GetHashCode() : 0));
     }
 }
예제 #27
0
        public Provider EnlistProvider(ProviderInfo providerInfo, Guid practiceId)
        {
            var person   = Find(providerInfo.PersonNameInfo);
            var provider = Provider.Create(providerInfo, practiceId);

            if (null == person)
            {
                person = Person.CreateProvider(providerInfo);

                var newProvider = person.AssignProvider(provider);

                _personRepository.InsertOrUpdate(person);
                _personRepository.Save();
                _providerRepository.InsertOrUpdate(newProvider);
                _providerRepository.Save();
                return(newProvider);
            }

            var personName = PersonName.Create(providerInfo.PersonNameInfo);

            var updatedNames   = person.AssignName(personName);
            var updateProvider = person.AssignProvider(provider);

            _personNameRepository.InsertOrUpdate(updatedNames);
            _personNameRepository.Save();
            _providerRepository.InsertOrUpdate(updateProvider);
            _providerRepository.Save();

            return(updateProvider);
        }
예제 #28
0
        public User EnlistUser(UserInfo userInfo, Guid practiceId)
        {
            var person = Find(userInfo.PersonNameInfo);
            var user   = User.Create(userInfo, practiceId);

            if (null == person)
            {
                person = Person.CreateUser(userInfo);

                var newUser = person.AssignUser(user);

                _personRepository.InsertOrUpdate(person);
                _personRepository.Save();
                _userRepository.InsertOrUpdate(newUser);
                _userRepository.Save();
                return(newUser);
            }

            var personName = PersonName.Create(userInfo.PersonNameInfo);

            var updatedNames = person.AssignName(personName);
            var updateUser   = person.AssignUser(user);

            _personNameRepository.InsertOrUpdate(updatedNames);
            _personNameRepository.Save();
            _userRepository.InsertOrUpdate(updateUser);
            _userRepository.Save();

            return(updateUser);
        }
예제 #29
0
        public NewWriteUpParameter(PersonName nomineeName, NominationWriteUp writeUp)
        {
            _nomineeName = nomineeName ?? throw new ArgumentNullException(nameof(nomineeName));
            _writeUp     = writeUp ?? throw new ArgumentNullException(nameof(writeUp));

            RegisterAbortInput(@"no");
        }
예제 #30
0
        private Volume(short[] dataInt16, ushort[] dataUInt16, Size3D dimensions, Vector3D spacing, Vector3D originPatient, Matrix orientationPatient, VolumeSopDataSourcePrototype sopDataSourcePrototype, int paddingValue, string sourceSeriesInstanceUid, int minVolumeValue, int maxVolumeValue)
        {
            Platform.CheckTrue(dataInt16 != null ^ dataUInt16 != null, "Exactly one of dataInt16 and dataUInt16 must be non-null.");
            _volumeDataInt16          = dataInt16;
            _volumeDataUInt16         = dataUInt16;
            _sourceSeriesInstanceUid  = sourceSeriesInstanceUid;
            _minVolumeValue           = minVolumeValue;
            _maxVolumeValue           = maxVolumeValue;
            _arrayDimensions          = dimensions;
            _voxelSpacing             = spacing;
            _originPatient            = originPatient;
            _orientationPatientMatrix = orientationPatient;
            _modelDicom   = sopDataSourcePrototype;
            _paddingValue = paddingValue;

            // Generate a descriptive name for the volume
            PersonName patientName       = new PersonName(sopDataSourcePrototype[DicomTags.PatientsName].ToString());
            string     patientId         = sopDataSourcePrototype[DicomTags.PatientId].ToString();
            string     seriesDescription = sopDataSourcePrototype[DicomTags.SeriesDescription].ToString();

            if (string.IsNullOrEmpty(seriesDescription))
            {
                _description = string.Format(SR.FormatVolumeLabel, patientName.FormattedName, patientId, seriesDescription);
            }
            else
            {
                _description = string.Format(SR.FormatVolumeLabelWithSeries, patientName.FormattedName, patientId, seriesDescription);
            }
        }
예제 #31
0
        public void Update(PersonCreatedEvent @event)
        {
            var personName = new PersonName(@event.PersonId, @event.PersonName);

            _peopleNames.Add(personName);
            _peopleByName.Add(personName);
        }
예제 #32
0
        public override IQueryable <Timesheet> Apply(IQueryable <Timesheet> qry)
        {
            if (PersonId != null)
            {
                qry = qry.Where(a => a.PersonId == PersonId);
            }

            if (!string.IsNullOrEmpty(PersonName))
            {
                qry = qry.Where(a => a.PersonName.Trim() == PersonName.Trim());
            }

            if (TimesheetDate != null)
            {
                qry = qry.Where(a => a.TimesheetDate == TimesheetDate);
            }

            if (FromDate != null)
            {
                qry = qry.Where(a => a.TimesheetDate >= FromDate);
            }

            if (ToDate != null)
            {
                qry = qry.Where(a => a.TimesheetDate <= ToDate);
            }

            if (Deleted != null)
            {
                qry = qry.Where(a => a.Deleted == Deleted);
            }

            return(qry);
        }
예제 #33
0
 private Customer1(ID id, EmailAddress emailAddress, Hash confirmationHash, PersonName name)
 {
     CustomerId       = id;
     EmailAddress     = emailAddress;
     ConfirmationHash = confirmationHash;
     Name             = name;
 }
예제 #34
0
 public PasswordChangedEvent(PersonName name, string email, string login, string password)
 {
     this.Name     = name;
     this.Email    = email;
     this.Login    = login;
     this.Password = password;
 }
 public RegisterCustomer(string eMailAddress, string givenName, string familyName)
 {
     EMailAddress     = new EmailAddress(eMailAddress);
     PersonName       = new PersonName(givenName, familyName);
     ID               = new ID();
     ConfirmationHash = new CustomHash();
 }
예제 #36
0
		public MprVolume(Volumes.Volume volume, IEnumerable<IMprSliceSet> sliceSets)
		{
			Platform.CheckForNullReference(volume, "volume");

			// MprVolume is the de jure owner of the Volume
			// Everything else (like the SOPs) just hold transient references
			_volume = volume;

			_sliceSets = new ObservableDisposableList<IMprSliceSet>();
			if (sliceSets != null)
			{
				foreach (IMprSliceSet sliceSet in sliceSets)
				{
					if (sliceSet is IInternalMprSliceSet)
						((IInternalMprSliceSet) sliceSet).Parent = this;
					_sliceSets.Add(sliceSet);
				}
			}
			_sliceSets.EnableEvents = true;
			_sliceSets.ItemAdded += OnItemAdded;
			_sliceSets.ItemChanged += OnItemAdded;
			_sliceSets.ItemChanging += OnItemRemoved;
			_sliceSets.ItemRemoved += OnItemRemoved;

			// Generate a descriptive name for the volume
			PersonName patientName = new PersonName(_volume.DataSet[DicomTags.PatientsName].ToString());
			string patientId = _volume.DataSet[DicomTags.PatientId].ToString();
			string seriesDescription = _volume.DataSet[DicomTags.SeriesDescription].ToString();
			if (string.IsNullOrEmpty(seriesDescription))
				_description = string.Format(SR.FormatVolumeLabel, patientName.FormattedName, patientId, seriesDescription);
			else
				_description = string.Format(SR.FormatVolumeLabelWithSeries, patientName.FormattedName, patientId, seriesDescription);
		}
예제 #37
0
 void IHandleClientStateTransitions.When(ClientRegistered @event)
 {
     Identity = @event.ClientId;
     identityNumber = @event.IdentityNumber;
     clientName = @event.ClientName;
     primaryContactNumber = @event.PrimaryContactNumber;
     dateOfBirth = @event.IdentityNumber.GetDateOfBirth();
 }
예제 #38
0
        public RegisterClient(PersonName clientName, TelephoneNumber phoneNumber)
        {
            Mandate.ParameterNotDefaut(clientName, "clientName");
            Mandate.ParameterNotDefaut(phoneNumber, "phoneNumber");

            ClientName = clientName;
            PhoneNumber = phoneNumber;
        }
 private static EventAttendee CreateAttendee(string firstName, string lastName)
 {
     var name = new PersonName(firstName, lastName);
     var email = new EmailAddress("*****@*****.**");
     var phone = new PhoneNumber("2055551212");
     var address = new Address("123 Main St.", "Suite 1", "Los Angeles", 10, "90036");
     return new EventAttendee(name, address, email, phone, firstName, lastName);
 }
예제 #40
0
        public Client(PersonName clientName, TelephoneNumber phoneNumber)
        {
            Mandate.ParameterNotDefaut(clientName, "clientName");
            Mandate.ParameterNotDefaut(phoneNumber, "phoneNumber");

            ClientName = clientName;
            PhoneNumber = phoneNumber;
            Address = Address.Empty;
        }
예제 #41
0
 /// <summary>
 /// Creates the attendee.
 /// </summary>
 /// <param name="attendeeDto">The attendee dto.</param>
 /// <returns></returns>
 public static EventAttendee CreateAttendee(AttendeeDto attendeeDto)
 {
     var name = new PersonName(attendeeDto.FirstName, attendeeDto.LastName);
     var address = new Address(attendeeDto.Address1, attendeeDto.Address2, attendeeDto.City, attendeeDto.StateId, attendeeDto.PostalCode);
     var phone = new PhoneNumber(attendeeDto.PrimaryPhone);
     var email = new EmailAddress(attendeeDto.EmailAddress);
     var attendee = new EventAttendee(name, address, email, phone, attendeeDto.FirstName, attendeeDto.LastName, attendeeDto.DynamicColumnsData, attendeeDto.ProfileId, attendeeDto.UserId, attendeeDto.DidAttend);
     return attendee;
 }
        public string Format(PersonName name)
        {
            var builder = new StringBuilder();

            builder.Append(name.LastName);
            builder.Append(", ");
            builder.Append(!String.IsNullOrEmpty(name.KnownAs) ? name.KnownAs : name.FirstName);

            return builder.ToString();
        }
예제 #43
0
        public RegisterClient(IdentityNumber identityNumber, PersonName clientName, TelephoneNumber primaryContactNumber)
        {
            Mandate.ParameterNotDefaut(identityNumber, "identityNumber");
            Mandate.ParameterNotDefaut(clientName, "clientName");
            Mandate.ParameterNotDefaut(primaryContactNumber, "primaryContactNumber");

            IdentityNumber = identityNumber;
            ClientName = clientName;
            PrimaryContactNumber = primaryContactNumber;
        }
        public void Build(string[] args)
        {
            if (args.Length != 4)
            {
                throw new Exception(String.Format("Error. Usage is: {0}", Usage));
            }

            ClientName = new PersonName(args[0], args[1]);
            IdentityNumber = new IdentityNumber(args[2]);
            PrimaryContactNumber = new TelephoneNumber(args[3]);
        }
예제 #45
0
        public ClientRegistered(ClientId clientId, IdentityNumber identityNumber, PersonName clientName, TelephoneNumber primaryContactNumber)
        {
            Mandate.ParameterNotNull(clientId, "clientId");
            Mandate.ParameterNotDefaut(identityNumber, "identityNumber");
            Mandate.ParameterNotDefaut(clientName, "clientName");
            Mandate.ParameterNotDefaut(primaryContactNumber, "primaryContactNumber");

            ClientId = clientId;
            IdentityNumber = identityNumber;
            ClientName = clientName;
            PrimaryContactNumber = primaryContactNumber;
        }
        public ICommand Build(string[] args)
        {
            if (args.Length != 3)
            {
                throw new ArgumentException(String.Format("Incorrect number of parameters. Usage is: {0}", Usage));
            }

            var clientName = new PersonName(args[0], args[1]);
            var phoneNumber = new TelephoneNumber(args[2]);

            return new RegisterClient(clientName, phoneNumber);
        }
예제 #47
0
        public static PersonName CreatePersonName(FinancialEntities context, string nameType, string name, Person person)
        {
            var personNameType = context.PersonNameTypes.SingleOrDefault(entity => entity.Name == nameType);
            InitialDatabaseValueChecker.ThrowIfNull<PersonNameType>(personNameType);

            PersonName personName = new PersonName();
            personName.Name = name;
            personName.PersonNameType = personNameType;
            personName.Person = person;
            personName.EffectiveDate = DateTime.Now;
            return personName;
        }
예제 #48
0
        public void A_client_must_have_an_identity_number_contact_number_and_name()
        {
            var idNumber = new IdentityNumber("7808035176089");
            var telephoneNumber = new TelephoneNumber("0125552222");
            var clientName = new PersonName("Adrian", "Freemantle");

            var client = new Client(idNumber, clientName, telephoneNumber);

            client.Identity.Id.ShouldBe(idNumber.Number);
            client.PrimaryContactNumber.ShouldBe(telephoneNumber);
            client.ClientName.ShouldBe(clientName);
        }
        public void DefaultPersonNameFormatter_WithKnownAs_ReturnsExpectedString()
        {
            const string expectedResult = "Phil Houston";

            var name = new PersonName("Philip", "Houston", "Andrew","Phil")
            {
                NameFormatter = new DefaultPersonNameFormatter()
            };

            var actualResult = name.ToString();

            Assert.AreEqual(expectedResult, actualResult);
        }
        public void AlphabeticalPersonNameFormatter_WithNoKnownAs_ReturnsExpectedString()
        {
            const string expectedResult = "Houston, Philip";

            var name = new PersonName("Philip", "Houston", "Andrew")
            {
                NameFormatter = new AlphabeticalPersonNameFormatter()
            };

            var actualResult = name.ToString();

            Assert.AreEqual(expectedResult, actualResult);
        }
예제 #51
0
        public void Clients_over_60_with_three_or_more_insurance_products_qualify_for_pensioners_discount()
        {
            var idNumber = new IdentityNumber("5008035176089");
            var telephoneNumber = new TelephoneNumber("0125552222");
            var clientName = new PersonName("Adrian", "Freemantle");
            var client = new Client(idNumber, clientName, telephoneNumber);

            client.Purchased(new InsuranceProduct());
            client.Purchased(new InsuranceProduct());
            client.Purchased(new InsuranceProduct());

            client.QualifiesForPensionersDiscount().ShouldBe(true);
        }
예제 #52
0
        public void TestInequality()
        {
            var name = new PersonName("John", "Doe");
            var email = new EmailAddress("*****@*****.**");
            var phone = new PhoneNumber("2055551212");
            var address = new Address("123 Main St.", "Suite 1", "Los Angeles", 5, "90036");

            var attendee1 = new EventAttendee(name, address, email, phone,"John", "Doe");
            name = new PersonName("Jane", "Doe");
            var attendee2 = new EventAttendee(name, address, email, phone,"John", "Doe");

            Assert.AreNotEqual(attendee1, attendee2);
        }
예제 #53
0
        public void A_clients_with_same_identity_number_are_the_same_client()
        {
            var idNumber = new IdentityNumber("7808035176089");
            var telephoneNumber = new TelephoneNumber("0125552222");
            var clientName = new PersonName("Adrian", "Freemantle");
            var client = new Client(idNumber, clientName, telephoneNumber);

            var telephoneNumber2 = new TelephoneNumber("1111111111");
            var clientName2 = new PersonName("Sally", "Smith");
            var client2 = new Client(idNumber, clientName2, telephoneNumber2);

            client.ShouldBe(client2);
        }
			private static void TestName(PersonName name, ref List<string> reasons)
			{
				if (name == null)
				{
					reasons.Add(SR.AlertFamilyNameMissing);
					return;
				}

				if (string.IsNullOrEmpty(name.FamilyName))
					reasons.Add(SR.AlertFamilyNameMissing);

				if (string.IsNullOrEmpty(name.GivenName))
					reasons.Add(SR.AlertGivenNameMissing);
			}
예제 #55
0
        public void TestConstruction()
        {
            var name = new PersonName("John", "Doe");
            var email = new EmailAddress("*****@*****.**");
            var phone = new PhoneNumber("2055551212");
            var address = new Address("123 Main St.", "Suite 1", "Los Angeles", 5, "90036");

            var attendee = new EventAttendee(name, address, email, phone, "John", "Doe");

            Assert.AreEqual(name, attendee.Name);
            Assert.AreEqual(address, attendee.Address);
            Assert.AreEqual(phone, attendee.Phone);
            Assert.AreEqual(email, attendee.Email);
        }
예제 #56
0
        public void Can_restore_from_snapshot()
        {
            var idNumber = new IdentityNumber("5008035176089");
            var telephoneNumber = new TelephoneNumber("0125552222");
            var clientName = new PersonName("Adrian", "Freemantle");
            var client = new Client(idNumber, clientName, telephoneNumber);

            client.Purchased(new InsuranceProduct());
            client.Purchased(new InsuranceProduct());
            client.Purchased(new InsuranceProduct());

            var snapshot = (client as IEntity).GetSnapshot();

            var restored = EntityFactory.Build<Client>(snapshot);
        }
예제 #57
0
        public static bool LookLikeSameNames(string name1, string name2)
        {
            name1 = StringUtilities.EmptyIfNull(name1);
            name2 = StringUtilities.EmptyIfNull(name2);
            string normalizedS1 = DicomNameUtils.Normalize(name1, DicomNameUtils.NormalizeOptions.TrimEmptyEndingComponents | DicomNameUtils.NormalizeOptions.TrimSpaces);
            string normalizedS2 = DicomNameUtils.Normalize(name2, DicomNameUtils.NormalizeOptions.TrimEmptyEndingComponents | DicomNameUtils.NormalizeOptions.TrimSpaces);


            // if both have "^", may need manual reconciliation
            // eg: "John ^ Smith" vs  "John  Smith^^" ==> manual
            //     "John ^ Smith" vs  "John ^ Smith^^" ==> auto
            if (name1.Contains("^") && name2.Contains("^"))
            {
                PersonName n1 = new PersonName(normalizedS1);
                PersonName n2 = new PersonName(normalizedS2);
                if (n1.AreSame(n2, PersonNameComparisonOptions.CaseInsensitive))
                    return true;
                else
                    return false;
            }


            if (normalizedS1.Length != normalizedS2.Length) return false;

            normalizedS1 = normalizedS1.ToUpper();
            normalizedS2 = normalizedS2.ToUpper();

            if (normalizedS1.Equals(normalizedS2))
                return true;

            for (int i = 0; i < normalizedS1.Length; i++)
            {
                // If S1[i] is ^ or space, S2[i] must be either ^ or space to be considered being the same
                // Otherwise, S1[i] must be the same as S2[i].
                if (normalizedS1[i] == '^' || normalizedS1[i] == ' ')
                {
                    if (normalizedS2[i] != '^' && normalizedS2[i] != ' ')
                        return false;
                }
                else
                {
                    if (normalizedS1[i] != normalizedS2[i])
                        return false;

                }
            }
            return true;
        }
예제 #58
0
        static private string GetComponent(PersonName name, Component part)
        {
            if (name == null)
                return null;

            if (name.IsEmpty)
                return "";

            switch (part)
            {
                case Component.FirstName:
                    return name.FirstName;

                case Component.GivenName:
                    return name.FirstName;

                case Component.LastName:
                    return name.LastName;

                case Component.MiddleName:
                    if (name.Phonetic.IsEmpty)
                    {
                        return "";
                    }
                    else
                        return name.Phonetic.MiddleName;

                case Component.Prefix:
                    if (name.Phonetic.IsEmpty)
                    {
                        return "";
                    }
                    else
                        return name.Phonetic.Prefix;


                case Component.Suffix:
                    if (name.Phonetic.IsEmpty)
                    {
                        return "";
                    }
                    else
                        return name.Phonetic.Suffix;

                default:
                    return null;
            }
        }
예제 #59
0
 public void ReplaceElementTest()
 {
     var dcm = DICOMFileReader.Read(Resources.explicitLittleEndian);
     var refName = new PersonName{
         FirstName = "Fred",
         LastName = "Flinstone",
         Tag = TagHelper.REFERRING_PHYSICIAN_NAME
     };
     dcm.Replace(refName);
     Assert.AreEqual(refName.Data, new PersonName
     {
         FirstName = "Fred",
         LastName = "Flinstone"
     }
     .Data);
 }
예제 #60
0
  public CFindStudyIOD()
 {
     QueryLevel = QueryLevel.STUDY;
     SOPInstanceUID = string.Empty;
     PatientId = string.Empty;
     PatientsName = new PersonName() { Tag = TagHelper.PATIENT_NAME, Data = string.Empty };
     StudyDate = null;
     AccessionNumber = string.Empty;
     StudyId = string.Empty;
     StudyDescription = string.Empty;
     ReferringPhysicianName = string.Empty;
     NameOfPhysiciansReadingStudy = string.Empty;
     ModalitiesInStudy = string.Empty;
     PatientBirthDate = null;
     StudyInstanceUID = string.Empty;
     SeriesInstanceUID = string.Empty;
 }