private void RemoveResponse(object parameter)
        {
            MessageResponseModel response = (MessageResponseModel)parameter;

            this.Responses.Remove(response);
            this.repository.Remove(response.Id);
        }
        private void OnResponseUpdate(object sender, PropertyChangedEventArgs e)
        {
            MessageResponseModel model  = (MessageResponseModel)sender;
            MessageResponse      entity = new MessageResponse();

            this.mapper.MapToEntity(model, entity);
            this.repository.AddOrUpdate(entity);
        }
        private void AddResponse()
        {
            MessageResponseModel messageResponse = new MessageResponseModel {
                Id = Guid.NewGuid().ToString()
            };

            this.Responses.Add(messageResponse);
        }
        protected override void Initialize()
        {
            IEnumerable <MessageResponse> messageResponses = this.repository.GetAll().OrderBy(r => r.Priority);

            foreach (MessageResponse entity in messageResponses)
            {
                MessageResponseModel model = new MessageResponseModel();
                this.mapper.MapToModel(entity, model);
                this.Responses.Add(model);
            }

            this.Responses.RegisterCollectionItemChanged(this.OnResponseUpdate);
        }