Beispiel #1
0
        public Guid UpdateConfiguration(QueryConfiguration queryConfiguration)
        {
            RequiresAgencyAdmin(queryConfiguration.AgencyId);

            Domain.Administration.Aggregates.Agency.QueryConfiguration config;

            if (queryConfiguration.Id != Guid.Empty)
            {
                config           = UnitOfWork.Find <Domain.Administration.Aggregates.Agency.QueryConfiguration>(queryConfiguration.Id);
                config.QueryId   = queryConfiguration.QueryId;
                config.QueryName = queryConfiguration.QueryName;
                config.IsEnabled = queryConfiguration.IsEnabled;

                //Remove any categories that are no longer used for this query
                var categories = queryConfiguration.QueryCategories.ToList();
                //config.QueryCategories.Where(cat => !categories.Exists(c => c.Key.Equals(cat.Name, StringComparison.CurrentCultureIgnoreCase))).ForEach(qc => config.RemoveQueryCategory(qc.Name));

                //Add or update the rest of the categories
                categories.ForEach(cat => config.UpdaterOrCreateQueryCategory(cat.Key, cat.Value));
            }
            else
            {
                var agency = UnitOfWork.Find <Agency>(queryConfiguration.AgencyId);
                config = agency.CreateQueryConfiguration(queryConfiguration.QueryId, queryConfiguration.QueryName, queryConfiguration.IsEnabled);
                queryConfiguration.QueryCategories.ForEach(cat => config.CreateQueryCategory(cat.Key, cat.Value));
            }

            UnitOfWork.Commit();
            return(config.Id);
        }
 private void SetUpQueryConfiguration()
 {
     _dtoQueryConfiguration                 = new DTO.QueryAdmin.QueryConfiguration();
     _dtoQueryConfiguration.AgencyId        = _agency.Id;
     _dtoQueryConfiguration.QueryId         = 1;
     _dtoQueryConfiguration.QueryName       = "QueryName";
     _dtoQueryConfiguration.IsEnabled       = true;
     _dtoQueryConfiguration.QueryCategories = new Dictionary <string, string>();
     _dtoQueryConfiguration.QueryCategories.Add("key", "value");
 }
Beispiel #3
0
        public void RemoveConfiguration(QueryConfiguration queryConfiguration)
        {
            RequiresAgencyAdmin(queryConfiguration.AgencyId);

            var queryConfig = UnitOfWork.Find <Domain.Administration.Aggregates.Agency.QueryConfiguration>(queryConfiguration.Id);

            if (queryConfig == null)
            {
                return;
            }

            UnitOfWork.Remove(queryConfig);
            UnitOfWork.Commit();
        }