예제 #1
0
 public static BaseModel RevisionToBaseModelCast(PuckRevision revision)
 {
     try
     {
         var model = JsonConvert.DeserializeObject(revision.Value, typeof(BaseModel));
         var mod   = model as BaseModel;
         mod.ParentId  = revision.ParentId;
         mod.Path      = revision.Path; mod.SortOrder = revision.SortOrder; mod.NodeName = revision.NodeName; mod.Published = revision.Published;
         mod.Type      = revision.Type;
         mod.TypeChain = revision.TypeChain;
         return(mod);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
예제 #2
0
 public static object RevisionToModel(PuckRevision revision)
 {
     try
     {
         //var model = JsonConvert.DeserializeObject(revision.Value, ConcreteType(ApiHelper.GetType(revision.Type)));
         var model = JsonConvert.DeserializeObject(revision.Value, ConcreteType(ApiHelper.GetTypeFromName(revision.Type)));
         var mod   = model as BaseModel;
         mod.ParentId  = revision.ParentId;
         mod.Path      = revision.Path; mod.SortOrder = revision.SortOrder; mod.NodeName = revision.NodeName; mod.Published = revision.Published;
         mod.Type      = revision.Type;
         mod.TypeChain = revision.TypeChain;
         return(model);
     }
     catch (Exception ex)
     {
         return(null);
     }
 }
예제 #3
0
        private ActionResult Preview(PuckRevision model)
        {
            var    dmode        = this.GetDisplayModeId();
            string templatePath = model.TemplatePath;

            if (!string.IsNullOrEmpty(dmode))
            {
                string dpath = templatePath.Insert(templatePath.LastIndexOf('.') + 1, dmode + ".");
                if (System.IO.File.Exists(ApiHelper.MapPath(dpath)))
                {
                    templatePath = dpath;
                }
            }
            var mod     = model.ToBaseModel();
            var variant = GetVariant(mod.Path);

            HttpContext.Items["variant"] = variant;
            //Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(threadVariant);
            return(View(templatePath, mod));
        }
예제 #4
0
 public void AddRevision(PuckRevision revision)
 {
     repo.PuckRevision.Add(revision);
 }
예제 #5
0
 public void DeleteRevision(PuckRevision revision)
 {
     repo.PuckRevision.Remove(revision);
 }