示例#1
0
#pragma warning restore CS8618 // Non-nullable field is uninitialized. Consider declaring as nullable.

        public void SetContact(CustomerContact contact)
        {
            Contact = contact;
        }
示例#2
0
        private void UpdateModel(ReservationModel reservation)
        {
            Guard.Against.Null(reservation, nameof(reservation));
            Guard.Against.GuidNullOrEmpty(reservation.Id, nameof(reservation.Id));
            Guard.Against.Null(reservation.EventTime, nameof(reservation.EventTime));

            EventId   = reservation.Id;
            AssetId   = reservation.AssetId;
            ArticleId = reservation.ArticleId;
            TenantId  = reservation.TenantId;
            PurposeId = reservation.Purpose;
            HasUserAssetAssignment = reservation.HasUserAssetAssignment;
            LocationComment        = reservation.EventLocationComment;
            IsConfirmed            = reservation.IsConfirmed;
            Comment = reservation.Comment;

            EventTime = new EventTime(reservation.EventTime.TimeType, reservation.EventTime.DurationType, reservation.EventTime.Start, reservation.EventTime.End, reservation.EventTime.Duration);

            if (EventTime.TimeType == TimeType.Date && !AssetId.HasValue && EventId.HasValue)
            {
                EventStatus = EventStatus.Shortage;
            }
            else if (EventTime.TimeType == TimeType.Date && AssetId.HasValue && EventId.HasValue)
            {
                EventStatus = EventStatus.Active;
            }
            else if (EventTime.TimeType == TimeType.Duration && !AssetId.HasValue && EventId.HasValue)
            {
                EventStatus = EventStatus.Pending;
            }

            if (reservation.EventAddress != null)
            {
                EventAddress = new Address(reservation.EventAddress.Street, reservation.EventAddress.Zip, reservation.EventAddress.City, reservation.EventAddress.CountryName);
            }

            if (reservation.EventLocation != null)
            {
                EventLocation      = new Point(reservation.EventLocation.Longitude, reservation.EventLocation.Latitude);
                EventLocation.SRID = 4326;
            }

            if (reservation.Customer != null)
            {
                var newCustomer = new Customer(reservation.Customer.Number, reservation.Customer.Name, reservation.Customer.Comment);
                if (reservation.Customer.CustomerContact != null)
                {
                    var newContact = new CustomerContact(reservation.Customer.CustomerContact.Name, reservation.Customer.CustomerContact.Telephone);
                    newCustomer.SetContact(newContact);
                }

                if (reservation.Customer.Address != null)
                {
                    var newAddress = new Address(reservation.Customer.Address.Street, reservation.Customer.Address.Zip, reservation.Customer.Address.City, reservation.Customer.Address.CountryName);
                    newCustomer.SetAddress(newAddress);
                }

                Customer = newCustomer;
            }

            // TODO: something here for EventLock & Storing user id
        }