public ContentResult GetParents(AggregationRelationParameters parameters) { // XXX Fixme, change from getting children to get parents SecurityService.CreateAccessContext(); if (String.IsNullOrEmpty(parameters.Query)) { parameters.Query = "*:*"; } CFAggregationAssociationsViewModel response = new CFAggregationAssociationsViewModel { Page = parameters.Page, TotalItems = 1, ItemsPerPage = 1, TotalPages = 1 }; int total; //string mappedGuid = CFAggregation aggregation = AggregationService.GetAggregation(parameters.id); string mappedGuid = aggregation.MappedGuid; AggregationService.Detach(aggregation); response.Data = AggregationService.Parents( mappedGuid, out total, parameters.Query, response.Page, parameters.ItemsPerPage).Select(x => new CFAggregationIndexViewModel(x)); response.TotalItems = total; response.ItemsPerPage = parameters.ItemsPerPage; response.TotalPages = (int)Math.Ceiling((double)response.TotalItems / response.ItemsPerPage); string responseString = JsonConvert.SerializeObject(response, Formatting.None ); return(Content(responseString, "application/json")); }
public JsonResult RemoveRelated(int id, int[] objectIds) { SecurityService.CreateAccessContext(); CFAggregation aggregation = AggregationService.GetAggregation(id); foreach (CFItem related in ItemService.GetItems(objectIds)) { if (related != null) { aggregation.RemoveRelated(related); Db.Entry(related).State = System.Data.Entity.EntityState.Modified; } } Db.Entry(aggregation).State = System.Data.Entity.EntityState.Modified; Db.SaveChanges(User.Identity); return(Json("")); }
public JsonResult RemoveChildren(int id, int[] objectIds) { SecurityService.CreateAccessContext(); CFAggregation aggregation = AggregationService.GetAggregation(id); foreach (CFAggregation child in AggregationService.GetAggregations(objectIds)) { if (child != null) { aggregation.RemoveChild(child); //Db.Entry(child).State = System.Data.Entity.EntityState.Modified; AggregationService.SetHierarchyModified(child); } } Db.Entry(aggregation).State = System.Data.Entity.EntityState.Modified; AggregationService.SetHierarchyModified(aggregation); Db.SaveChanges(User.Identity); return(Json("")); }
public ContentResult GetRelated([System.Web.Http.FromUri] AggregationRelationParameters parameters) { SecurityService.CreateAccessContext(); if (String.IsNullOrEmpty(parameters.Query)) { parameters.Query = "*:*"; } CFAggregationAssociationsViewModel response = new CFAggregationAssociationsViewModel { Page = parameters.Page, TotalItems = 1, ItemsPerPage = 1, TotalPages = 1 }; // XXX Fix me int total; //string mappedGuid = CFAggregation test = AggregationService.GetAggregation(parameters.id); response.Data = AggregationService.Related( test.MappedGuid, out total, parameters.Query, response.Page, parameters.ItemsPerPage).Select(x => new CFAggregationIndexViewModel(x)); response.TotalItems = total; response.ItemsPerPage = parameters.ItemsPerPage; response.TotalPages = (int)Math.Ceiling((double)response.TotalItems / response.ItemsPerPage); string responseString = JsonConvert.SerializeObject(response, Formatting.None ); return(Content(responseString, "application/json")); }
public JsonResult AddParents(int id, int[] objectIds) { SecurityService.CreateAccessContext(); CFAggregation aggregation = AggregationService.GetAggregation(id); foreach (CFAggregation parent in AggregationService.GetAggregations(objectIds)) { if (parent != null) { parent.AddChild(aggregation); //Db.Entry(parent).State = System.Data.Entity.EntityState.Modified; if (parent != aggregation) { AggregationService.SetHierarchyModified(parent); } } } Db.Entry(aggregation).State = System.Data.Entity.EntityState.Modified; Db.SaveChanges(User.Identity); return(Json("Ok")); }