Ejemplo n.º 1
0
        public async Task CreateOrUpdateEventAttendees(params UpdateAttendeesModel[] models)
        {
            using (var unitOfWork = await DataConnectionFactory.CreateUnitOfWork())
            {
                foreach (var model in models)
                {
                    var attendees = (await unitOfWork.DiaryEventAttendees.GetByEvent(model.EventId)).ToArray();

                    foreach (var attendee in model.Attendees)
                    {
                        var existingAttendee = attendees.FirstOrDefault(a => a.PersonId == attendee.PersonId);

                        if (existingAttendee != null)
                        {
                            existingAttendee.Required   = attendee.Required;
                            existingAttendee.CanEdit    = attendee.CanEdit;
                            existingAttendee.Attended   = attendee.Attended;
                            existingAttendee.ResponseId = attendee.ResponseId;

                            await unitOfWork.DiaryEventAttendees.Update(existingAttendee);
                        }
                        else
                        {
                            var newAttendee = new DiaryEventAttendee
                            {
                                EventId    = model.EventId,
                                PersonId   = attendee.PersonId,
                                Required   = attendee.Required,
                                CanEdit    = attendee.CanEdit,
                                ResponseId = attendee.ResponseId,
                                Attended   = attendee.Attended
                            };

                            unitOfWork.DiaryEventAttendees.Create(newAttendee);
                        }
                    }
                }

                await unitOfWork.SaveChangesAsync();
            }
        }
Ejemplo n.º 2
0
        private void LoadFromModel(DiaryEventAttendee model)
        {
            EventId    = model.EventId;
            PersonId   = model.PersonId;
            ResponseId = model.ResponseId;
            Required   = model.Required;
            Attended   = model.Attended;
            CanEdit    = model.CanEdit;

            if (model.Event != null)
            {
                Event = new DiaryEventModel(model.Event);
            }

            if (model.Person != null)
            {
                Person = new PersonModel(model.Person);
            }

            if (model.Response != null)
            {
                Response = new DiaryEventAttendeeResponseModel(model.Response);
            }
        }
Ejemplo n.º 3
0
 public DiaryEventAttendeeModel(DiaryEventAttendee model) : base(model)
 {
     LoadFromModel(model);
 }