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); }
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); }
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); }
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); }
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); }
private _ServiceSearchParameter AddServiceSearchParameters(_ServiceSearchParameter ServiceSearchParameter) { ServiceSearchParameter = IPyroDbContext.Set <_ServiceSearchParameter>().Add(ServiceSearchParameter); this.Save(); return(ServiceSearchParameter); }