Esempio n. 1
0
        public static List<int> GetEventTopicsList(EventAdminDetailView parent, SubEntity subEntity)
        {
            var eventTopicIds = subEntity.Records.Where(e => e.Id > 0 && e.Action != RecordActions.Deleted).Select(e => e.Id).ToList();

            //Add any newly created topics
            var newTopics = subEntity.Records.Where(e => e.Action == RecordActions.New);
            foreach (var newTopic in newTopics)
            {
                var request = new AddEventTopicRequest()
                {
                    Name = CommonUtils.GetFieldValue(newTopic.Fields, _eventTopic),
                    IsEnabled = true
                };
                var response = parent.ProcessRequest<AddEventTopicResponse>(request);
                eventTopicIds.Add(response.Id);
            }

            //Make sure topic is specified
            if (eventTopicIds.Count <= 0)
            {
                const string errorMessage = "Event Topic required";
                subEntity.ErrorMessage = errorMessage;
                throw new Exception(errorMessage);
            }

            return eventTopicIds;
        }
        private AddEventTopicResponse AddTopic(AddEventTopicRequest request)
        {
            var handler = CreateHandler();

            //act
            var response = HandleRequest<AddEventTopicResponse>(handler, request);
            return response;
        }
        public void add_topic_with_duplicate_name()
        {
            //setup
            var request = new AddEventTopicRequest
                          {
                              Name = "Pregnancy",
                              IsEnabled = true
                          };

            AddTopic(request);
        }
        public void add_topic()
        {
            //setup
            var request = new AddEventTopicRequest
                          {
                              Name = _netTopicName,
                              IsEnabled = true
                          };

            var response = AddTopic(request);

            //assert
            using (var context = _objectContextFactory.CreateObjectContext())
            {
                var eventTopic = context.CreateObjectSet<EventTopic>().SingleOrDefault(e => e.Id == response.Id);
                Assert.AreEqual(request.Name, eventTopic.Name);
                Assert.AreEqual(request.IsEnabled, eventTopic.IsEnabled);
            }
        }
        private void Save()
        {
            _eventTopicId = int.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _id), CultureInfo.InvariantCulture);

            var nameValue = CommonUtils.GetFieldValue(_viewModel.Fields, _name);
            var isEnabledValue = bool.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _isEnabled));

            if (string.IsNullOrEmpty(nameValue))
                throw new Exception("Event Topic name is required.");

            if (_eventTopicId == 0)
            {
                var request = new AddEventTopicRequest
                {
                    Name = nameValue,
                    IsEnabled = isEnabledValue
                };

                _eventTopicId = ProcessRequest<AddEventTopicResponse>(request).Id;
            }
            else
            {
                if (_viewModel.Action == RecordActions.Edited)
                {
                    var updateRequest = new UpdateEventTopicRequest
                    {
                        Id = _eventTopicId,
                        Name = nameValue,
                        IsEnabled = isEnabledValue
                    };

                    ProcessRequest<UpdateEventTopicResponse>(updateRequest);
                }
            }
        }