public ActionResult ReverseRelationSorting(string className, string RelationObject_ID,
                                                   string RelationObjectType)
        {
            var type  = SiteObjectType.GetAll().First(x => x.ClassName == className);
            var model = new ReverseRelationSortingVM();

            model.ObjectType = type.SysName;
            model.ClassName  = className;
            if (RelationObject_ID == null)
            {
                return(View(model));
            }


            var objId =
                LinqToSqlUtils.CorrectPKType(RelationObject_ID, ContextProvider.GetTypeByTableName(
                                                 RelationObjectType));
            var relationObjectType = ContextProvider.GetTypeByTableName(
                RelationObjectType);
            var relationObjectID =
                LinqToSqlUtils.CorrectPKType(RelationObject_ID, relationObjectType);

            model.SiteObject = SORepository.GetAll().First(so =>
                                                           so.ID.Equals(relationObjectID) &&
                                                           so.Type == RelationObjectType);

            model.Relations = GetCourseRelations(type.Type, RelationObjectType, (int)objId);



            return(View(model));
        }
Ejemplo n.º 2
0
        private IEnumerable <Course> GetCourses(string RelationObject_ID,
                                                string RelationObjectType)
        {
            IQueryable <Course> courseQuery = null;

            if (RelationObjectType == null)
            {
                courseQuery = new List <Course>().AsQueryable();//Repository.GetAll();
            }
            else
            {
                var relationObjectType = ContextProvider.GetTypeByTableName(
                    RelationObjectType);

                /* if (obj.RelationObject_ID is string[])
                 *   obj.RelationObject_ID = (obj.RelationObject_ID as string[]).First();*/
                var relationObjectID =
                    LinqToSqlUtils.CorrectPKType(RelationObject_ID, relationObjectType);
                courseQuery = SiteObjectService
                              .GetByRelationObject <Course>(relationObjectType, relationObjectID);
                ViewData["SiteObject"] = SORepository.GetAll().First(so =>
                                                                     so.ID.Equals(relationObjectID) &&
                                                                     so.Type == RelationObjectType);
            }

            return(courseQuery.Where(c => c.IsActive)
                   .OrderBy(c => c.WebSortOrder)
                   .Select(c => new { c.Course_TC, c.Name })
                   .ToList()
                   .Select(c => new Course
            {
                Course_TC = c.Course_TC,
                Name = c.Name
            }));
        }
 public ActionResult MainEntityList(string type, object id, List <string> entities)
 {
     if (entities != null)
     {
         var objectType   = ContextProvider.GetTypeByTableName(type);
         var objectId     = LinqToSqlUtils.CorrectPKType(id, objectType);
         var oldRelations = SiteObjectRelationRepository
                            .GetAll(x => x.Object_ID == objectId && x.ObjectType == type).ToList();
         foreach (var entity in entities)
         {
             var parts      = entity.Split(';');
             var tableName  = parts[0];
             var entityType = ContextProvider.GetTypeByTableName(tableName);
             var entityId   = LinqToSqlUtils.CorrectPKType(parts[1], entityType);
             var relation   = new SiteObjectRelation {
                 Object_ID          = objectId,
                 ObjectType         = type,
                 RelationObject_ID  = entityId,
                 RelationObjectType = tableName
             };
             if (!oldRelations.Any(x => x.RelationObject_ID.Equals(relation.RelationObject_ID) &&
                                   x.RelationObjectType == relation.RelationObjectType))
             {
                 SiteObjectRelationRepository.Insert(relation);
             }
         }
         SiteObjectRelationRepository.SubmitChanges();
     }
     return(Json("ok"));
 }
Ejemplo n.º 4
0
        public ActionResult CarouselForEntity(string typeName, object pk)
        {
            var type = SiteObject.GetType(typeName);

            if (type == null)
            {
                return(null);
            }
            var announces = AnnounceService.GetAllForEntity(type,
                                                            LinqToSqlUtils.CorrectPKType(pk, type));

            return(GetCarousel(announces));
        }
        public virtual ActionResult DeleteAll(string tableName, object id)
        {
            var entityType = ContextProvider.GetTypeByTableName(tableName);
            var relations  = SiteObjectRelationRepository.GetAll(x => x.ObjectType == tableName && x.Object_ID ==
                                                                 LinqToSqlUtils.CorrectPKType(id, entityType));

            foreach (var relation in relations)
            {
                SiteObjectRelationRepository.Delete(relation);
            }
            SiteObjectRelationRepository.SubmitChanges();
            return(null);
        }
Ejemplo n.º 6
0
        public static object GetEntity(string typeName, object pk)
        {
            var type = SiteObject.GetType(typeName);

            if (type == null)
            {
                return(null);
            }

            pk = LinqToSqlUtils.CorrectPKType(pk, type);
            var entity = type.Create();

            LinqToSqlUtils.SetPK(entity, pk);
            return(entity);
        }
        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 override ActionResult Add(FormCollection formCollection, string operationType)
        {
            var obj = new SiteObjectRelation();

            UpdateEntity(obj, formCollection);
            var objectType = ContextProvider.GetTypeByTableName(obj.ObjectType);

            obj.Object_ID = LinqToSqlUtils.CorrectPKType(obj.Object_ID, objectType);
            var relationObjectType = ContextProvider.GetTypeByTableName(
                obj.RelationObjectType);

            obj.RelationObject_ID = LinqToSqlUtils.CorrectPKType(obj.RelationObject_ID, relationObjectType);
            Repository.InsertAndSubmit(obj);
            return(Redirect(Request.UrlReferrer.AbsoluteUri));
        }
        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));
        }
Ejemplo n.º 10
0
 protected object CorrectIdType(object id)
 {
     return(LinqToSqlUtils.CorrectPKType(id, typeof(T)));
 }