Ejemplo n.º 1
0
 public IActionResult Import(ImportProjectDataViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             if (model.FromFile.Length > 0)
             {
                 if (!model.FromFile.FileName.EndsWith(".zip"))
                 {
                     throw new Exception("Csak .zip fájlok tölthetőek fel!");
                 }
                 System.IO.Directory.CreateDirectory($"{_env.WebRootPath}/images/projects/{model.ProjectId}");
                 string filePath = $"{_env.WebRootPath}/images/projects/{model.ProjectId}/export.zip";
                 using (var stream = System.IO.File.Create(filePath))
                 {
                     model.FromFile.CopyTo(stream);
                 }
                 EditorBL.ImportProjectFromZip(_context, model.ProjectId, $"{_env.WebRootPath}", filePath);
                 model.ImportSuccess = true;
             }
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("", ex.Message);
         }
     }
     return(PartialView("ProjectImporter", model));
 }
Ejemplo n.º 2
0
        public async Task <IActionResult> Export(int projectId, bool jsonExport = true)
        {
            EditorViewModel model = EditorBL.EditorData(_context, projectId, $"{_env.WebRootPath}");

            model.Mode = EditorMode.Export;

            if (model.ProjectData == null)
            {
                return(RedirectToAction("Index", "Projects"));
            }

            string redirect = "";

            if (jsonExport)
            {
                redirect = EditorBL.ExportProjectJson(_context, projectId, $"{_env.WebRootPath}");
            }
            else
            {
                string htmlContent = await RenderPartialViewToString("Preview", model);

                redirect = EditorBL.ExportProjectHtml(projectId, $"{_env.WebRootPath}", htmlContent, model.EditorData.CustomCss);
            }

            ProjectsBL.SetProjectStatus(_context, projectId, Models.Enums.ProjectStatus.Exported, true);

            return(RedirectToAction("Index", "Projects", new { RedirectTo = redirect }));
        }
Ejemplo n.º 3
0
        public IActionResult Index(int projectId)
        {
            EditorViewModel editor = EditorBL.EditorData(_context, projectId, $"{_env.WebRootPath}");

            if (editor.ProjectData == null)
            {
                return(RedirectToAction("Index", "Projects"));
            }
            ProjectsBL.SetProjectStatus(_context, projectId, Models.Enums.ProjectStatus.Editable);
            return(View(editor));
        }
Ejemplo n.º 4
0
 public JsonResult SaveCustomCss(int projectId, string customCss)
 {
     try
     {
         EditorBL.SaveCustomCss(_context, projectId, customCss);
         return(Json("SUCCESS"));
     }
     catch (Exception ex)
     {
         return(Json(ex.Message));
     }
 }
Ejemplo n.º 5
0
        public IActionResult Preview(int projectId)
        {
            ViewBag.IsClientPreview = true;
            EditorViewModel editor = EditorBL.EditorData(_context, projectId, $"{_env.WebRootPath}");

            editor.Mode = EditorMode.Preview;
            if (editor.ProjectData == null)
            {
                return(RedirectToAction("Index", "Projects"));
            }

            return(View(editor));
        }
Ejemplo n.º 6
0
 public IActionResult SaveHeaderData(ProjectHeaderDataViewModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             EditorBL.SaveProjectHeaderData(_context, model);
             model.DatasChanged = true;
         }
         catch (Exception ex)
         {
             ModelState.AddModelError("", ex.Message);
         }
     }
     return(PartialView("_baseDatasForm", model));
 }