コード例 #1
0
        public _ServiceSearchParameter PopulateDbSearchParameter(DtoServiceSearchParameterHeavy DtoServiceSearchParameterHeavy)
        {
            var DbSearchParameter = new _ServiceSearchParameter();

            DbSearchParameter.Description = DtoServiceSearchParameterHeavy.Description;
            DbSearchParameter.Expression  = DtoServiceSearchParameterHeavy.Expression;
            DbSearchParameter.IsIndexed   = DtoServiceSearchParameterHeavy.IsIndexed;
            DbSearchParameter.LastUpdated = DateTimeOffset.Now;
            DbSearchParameter.Name        = DtoServiceSearchParameterHeavy.Name;
            DbSearchParameter.Resource    = DtoServiceSearchParameterHeavy.Resource;
            DbSearchParameter.SearchParameterResourceId      = DtoServiceSearchParameterHeavy.SearchParameterResourceId;
            DbSearchParameter.SearchParameterResourceVersion = DtoServiceSearchParameterHeavy.SearchParameterResourceVersion;
            DbSearchParameter.Status = DtoServiceSearchParameterHeavy.Status;
            DbSearchParameter.Type   = DtoServiceSearchParameterHeavy.Type;
            DbSearchParameter.Url    = DtoServiceSearchParameterHeavy.Url;
            DbSearchParameter.XPath  = DtoServiceSearchParameterHeavy.XPath;
            DbSearchParameter.TargetResourceTypeList = PopulateDbTargetResourceList(DtoServiceSearchParameterHeavy.TargetResourceTypeList);
            DbSearchParameter.ServiceSearchParameterCompositePivotList = PopulateDbCompositeList(DtoServiceSearchParameterHeavy.CompositeList);
            return(DbSearchParameter);
        }
コード例 #2
0
        private _ServiceSearchParameter UpdateServiceSearchParameters(int Id, _ServiceSearchParameter SearchParameter)
        {
            var DbSearchParameter = IPyroDbContext.ServiceSearchParameter.SingleOrDefault(x => x.Id == Id);

            DbSearchParameter.Description = SearchParameter.Description;
            DbSearchParameter.Expression  = SearchParameter.Expression;
            DbSearchParameter.IsIndexed   = SearchParameter.IsIndexed;
            DbSearchParameter.LastUpdated = DateTimeOffset.Now;
            DbSearchParameter.Name        = SearchParameter.Name;
            DbSearchParameter.Resource    = SearchParameter.Resource;
            DbSearchParameter.SearchParameterResourceId      = SearchParameter.SearchParameterResourceId;
            DbSearchParameter.SearchParameterResourceVersion = SearchParameter.SearchParameterResourceVersion;
            DbSearchParameter.Status = SearchParameter.Status;
            DbSearchParameter.TargetResourceTypeList = SearchParameter.TargetResourceTypeList;
            DbSearchParameter.Type  = SearchParameter.Type;
            DbSearchParameter.Url   = SearchParameter.Url;
            DbSearchParameter.XPath = SearchParameter.XPath;
            IPyroDbContext.Entry(DbSearchParameter).State = EntityState.Modified;
            this.Save();
            return(DbSearchParameter);
        }
コード例 #3
0
        public DtoServiceSearchParameterHeavy PopulateDtoSearchParameterHeavy(_ServiceSearchParameter DbServiceSearchParameter)
        {
            var Heavy = new DtoServiceSearchParameterHeavy();

            Heavy.Id          = DbServiceSearchParameter.Id;
            Heavy.Name        = DbServiceSearchParameter.Name;
            Heavy.Expression  = DbServiceSearchParameter.Expression;
            Heavy.Resource    = DbServiceSearchParameter.Resource;
            Heavy.Type        = DbServiceSearchParameter.Type;
            Heavy.Description = DbServiceSearchParameter.Description;
            Heavy.Url         = DbServiceSearchParameter.Url;
            Heavy.XPath       = DbServiceSearchParameter.XPath;
            Heavy.SearchParameterResourceId      = DbServiceSearchParameter.SearchParameterResourceId;
            Heavy.SearchParameterResourceVersion = DbServiceSearchParameter.SearchParameterResourceVersion;
            Heavy.Status                 = DbServiceSearchParameter.Status;
            Heavy.IsIndexed              = DbServiceSearchParameter.IsIndexed;
            Heavy.LastUpdated            = DbServiceSearchParameter.LastUpdated;
            Heavy.TargetResourceTypeList = PopulateDtoTargetResourceList(DbServiceSearchParameter.TargetResourceTypeList);
            Heavy.CompositeList          = PopulateDtoCompositeList(DbServiceSearchParameter.ServiceSearchParameterCompositePivotList);
            return(Heavy);
        }
コード例 #4
0
        private _ServiceSearchParameter UpdateServiceSearchParameters(int Id, _ServiceSearchParameter SearchParameter)
        {
            var DbSearchParameter = IPyroDbContext.ServiceSearchParameter
                                    .Include(x => x.TargetResourceTypeList)
                                    .Include(x => x.ServiceSearchParameterCompositePivotList)
                                    .SingleOrDefault(x => x.Id == Id);

            //We must tell EF to delete each child element not just assign the new list.
            //We could try and work out the difference between the two lists and only Add, Update and Remove as required
            //Yet given this is a very infrequent process with very small numbers it is just easier to delete all
            // and add the entire new list.
            for (int i = DbSearchParameter.TargetResourceTypeList.Count - 1; i >= 0; i--)
            {
                (IPyroDbContext as IObjectContextAdapter).ObjectContext.DeleteObject(DbSearchParameter.TargetResourceTypeList.ElementAt(i));
            }

            for (int i = DbSearchParameter.ServiceSearchParameterCompositePivotList.Count - 1; i >= 0; i--)
            {
                (IPyroDbContext as IObjectContextAdapter).ObjectContext.DeleteObject(DbSearchParameter.ServiceSearchParameterCompositePivotList.ElementAt(i));
            }

            DbSearchParameter.Description = SearchParameter.Description;
            DbSearchParameter.Expression  = SearchParameter.Expression;
            DbSearchParameter.IsIndexed   = SearchParameter.IsIndexed;
            DbSearchParameter.LastUpdated = DateTimeOffset.Now;
            DbSearchParameter.Name        = SearchParameter.Name;
            DbSearchParameter.Resource    = SearchParameter.Resource;
            DbSearchParameter.SearchParameterResourceId      = SearchParameter.SearchParameterResourceId;
            DbSearchParameter.SearchParameterResourceVersion = SearchParameter.SearchParameterResourceVersion;
            DbSearchParameter.Status = SearchParameter.Status;
            DbSearchParameter.TargetResourceTypeList = SearchParameter.TargetResourceTypeList;
            DbSearchParameter.ServiceSearchParameterCompositePivotList = SearchParameter.ServiceSearchParameterCompositePivotList;
            DbSearchParameter.Type  = SearchParameter.Type;
            DbSearchParameter.Url   = SearchParameter.Url;
            DbSearchParameter.XPath = SearchParameter.XPath;
            IPyroDbContext.Entry(DbSearchParameter).State = EntityState.Modified;
            this.Save();
            return(DbSearchParameter);
        }
コード例 #5
0
        public DtoServiceSearchParameterHeavy AddServiceSearchParametersHeavy(DtoServiceSearchParameterHeavy ServiceSearchParameterHeavy)
        {
            if (ServiceSearchParameterHeavy == null)
            {
                return(null);
            }

            var DbSearchParameter = new _ServiceSearchParameter();

            DbSearchParameter.Description = ServiceSearchParameterHeavy.Description;
            DbSearchParameter.Expression  = ServiceSearchParameterHeavy.Expression;
            DbSearchParameter.IsIndexed   = ServiceSearchParameterHeavy.IsIndexed;
            DbSearchParameter.LastUpdated = DateTimeOffset.Now;
            DbSearchParameter.Name        = ServiceSearchParameterHeavy.Name;
            DbSearchParameter.Resource    = ServiceSearchParameterHeavy.Resource;
            DbSearchParameter.SearchParameterResourceId      = ServiceSearchParameterHeavy.SearchParameterResourceId;
            DbSearchParameter.SearchParameterResourceVersion = ServiceSearchParameterHeavy.SearchParameterResourceVersion;
            DbSearchParameter.Status = ServiceSearchParameterHeavy.Status;
            DbSearchParameter.Type   = ServiceSearchParameterHeavy.Type;
            DbSearchParameter.Url    = ServiceSearchParameterHeavy.Url;
            DbSearchParameter.XPath  = ServiceSearchParameterHeavy.XPath;
            if (ServiceSearchParameterHeavy.TargetResourceTypeList != null)
            {
                DbSearchParameter.TargetResourceTypeList = new List <_ServiceSearchParameterTargetResource>();
                foreach (var Target in ServiceSearchParameterHeavy.TargetResourceTypeList)
                {
                    DbSearchParameter.TargetResourceTypeList.Add(new _ServiceSearchParameterTargetResource()
                    {
                        ResourceType = Target.ResourceType
                    });
                }
            }
            _ServiceSearchParameter value = AddServiceSearchParameters(DbSearchParameter);

            ServiceSearchParameterHeavy.Id = value.Id;
            this.Save();
            return(ServiceSearchParameterHeavy);
        }
コード例 #6
0
 private _ServiceSearchParameter AddServiceSearchParameters(_ServiceSearchParameter ServiceSearchParameter)
 {
     ServiceSearchParameter = IPyroDbContext.Set <_ServiceSearchParameter>().Add(ServiceSearchParameter);
     this.Save();
     return(ServiceSearchParameter);
 }