예제 #1
0
    private static Person MapParent(CheckInsUpdate guest)
    {
        var names = guest.EmergencyContactName?.Split(separator: " ");

        var firstName = string.Empty;
        var lastName  = string.Empty;

        if (names?.Length == 2)
        {
            firstName = names[0];
            lastName  = names[1];
        }
        else if (guest.EmergencyContactName?.Length > 0)
        {
            firstName = guest.EmergencyContactName;
        }

        var adult = new Adult
        {
            PhoneNumber      = guest.EmergencyContactNumber,
            IsPrimaryContact = false
        };

        return(new()
        {
            FirstName = firstName,
            LastName = lastName,
            UpdateDate = DateTime.UtcNow,
            Adult = adult
        });
    }
예제 #2
0
    private static Attendance MapToAttendance(CheckInsUpdate checkInsUpdate, IImmutableList <Person> people)
    {
        var person = people.Single(predicate: p => p.PeopleId == checkInsUpdate.PeopleId);

        return(new()
        {
            CheckInsId = checkInsUpdate.CheckInsId,
            LocationId = checkInsUpdate.LocationId,
            SecurityCode = checkInsUpdate.SecurityCode,
            InsertDate = checkInsUpdate.CreationDate,
            Person = person,
            AttendanceTypeId = MapAttendeeType(attendeeType: checkInsUpdate.AttendeeType)
        });
    }
예제 #3
0
    private static Attendance MapGuestAttendance(CheckInsUpdate guest)
    {
        var person = MapPerson(peopleUpdate: guest.Kid);
        var parent = MapParent(guest: guest);

        var family = new Family
        {
            Name       = "Guest",
            UpdateDate = DateTime.UtcNow,
            People     = new List <Person>
            {
                parent
            }
        };

        person.Family = family;

        return(MapToAttendance(checkInsUpdate: guest, people: ImmutableList.Create(item: person)));
    }