public ActionResult SiteObjectEdit(string typeName, object id) { var entityType = typeof(SpecialistDataContext).Assembly.GetTypes() .Where(t => t.FullName == typeName).First(); var type = LinqToSqlUtils.GetTableName(entityType); var siteObject = SiteObjectService .GetBy(type, LinqToSqlUtils.CorrectPKType(id, entityType)); if (siteObject == null) { return(Redirect(Request.UrlReferrer.AbsoluteUri)); } return(View(ViewNames.EditRelationList, new EditVM(siteObject, MetaDataProvider.Get(typeof(SiteObject))))); }
public ActionResult RelationList(string type, object id, bool?linkCreator) { var entityType = ContextProvider.GetTypeByTableName(type); var siteObject = SiteObjectService .GetBy(type, LinqToSqlUtils.CorrectPKType(id, entityType)); foreach (var objectRelation in siteObject.ObjectRelations) { var entityTypeForObject = ContextProvider.GetTypeByTableName(objectRelation.RelationObjectType); if (objectRelation.RelationObject == null) { continue; } objectRelation.RelationObject.Entity = DynamicRepository .GetByPK(entityTypeForObject, LinqToSqlUtils.CorrectPKType( objectRelation.RelationObject_ID, entityTypeForObject)); } var model = new RelationListVM { EntityType = entityType, SiteObject = new SiteObject { ID = id, Type = type }, ForLinkCreator = linkCreator.GetValueOrDefault(), }; if (model.Sortable) { model.Relations = siteObject.ObjectRelations.OrderBy(x => x.RelationOrder).ToList(); } else { model.Relations = siteObject.ObjectRelations .OrderBy(x => x.RelationObject.GetOrDefault(y => y.Name)).ToList(); } return(PartialView(PartialViewNames.RelationListControl, model)); }
public ActionResult Search(string typeName, int id, int?pageIndex) { if (!pageIndex.HasValue) { return(RedirectToAction(() => Search(typeName, id, 1))); } var type = SiteObject.GetType(typeName); if (type == null) { return(null); } var news = SiteObjectService.GetByRelationObject <News>(type, id) .IsActive().OrderByDescending(n => n.PublishDate) .ToPagedList(pageIndex.GetValueOrDefault(1) - 1, 5); return(View( new RelationNewsVM { News = news, SiteObject = SiteObjectService.GetBy( LinqToSqlUtils.GetTableName(type), id) })); }
private void SetSiteObject(object id, EditVM editVM) { var siteObjectType = LinqToSqlUtils.GetTableName(MetaData.EntityType); editVM.SiteObject = SiteObjectService.GetBy(siteObjectType, id); }