public virtual ActionResult Install(InstallModuleModel installModel, string @return) { var data = new JsonResultData(ModelState); if (ModelState.IsValid) { data.RunWithTry((resultData) => { var moduleFile = this.Request.Files["ModuleFile"]; StringBuilder log = new StringBuilder(); var moduleName = System.IO.Path.GetFileNameWithoutExtension(moduleFile.FileName); var moduleInfo = Manager.Install(moduleName, moduleFile.InputStream, ref log); if (moduleInfo == null && log.Length != 0) { data.Success = false; data.AddMessage(log.ToString()); } else { if (!string.IsNullOrEmpty(moduleInfo.InstallingTemplate)) { data.RedirectUrl = Url.Action("OnInstalling", ControllerContext.RequestContext.AllRouteValues().Merge("ModuleName", moduleInfo.ModuleName)); } else { data.RedirectUrl = @return; } } }); } return(Json(data)); }
public virtual ActionResult Install(InstallModuleModel installModel) { JsonResultEntry result = new JsonResultEntry() { RedirectToOpener = false }; try { if (ModelState.IsValid) { var moduleFile = this.Request.Files["ModuleFile"]; if (moduleFile == null || moduleFile.ContentLength == 0) { ModelState.AddModelError("ModuleFile", "ModuleFile is null."); } else { StringBuilder log = new StringBuilder(); var moduleName = System.IO.Path.GetFileNameWithoutExtension(moduleFile.FileName); var moduleInfo = Manager.Install(moduleName, moduleFile.InputStream, ref log); if (moduleInfo == null && log.Length != 0) { result.Success = false; result.AddMessage(log.ToString()); } else { result.RedirectUrl = Url.Action("InstallationCompleted", new { moduleName = moduleInfo.ModuleName }); //var moduleInstallUrl = moduleInfo.InstallUrl; //if (string.IsNullOrEmpty(moduleInstallUrl)) //{ // result.RedirectUrl = Url.Action("InstallationCompleted", new { moduleName = moduleInfo.ModuleName }); //} //else //{ // result.RedirectUrl = Url.Action("InstallScaffold", new { moduleName = moduleInfo.ModuleName, installUrl = moduleInstallUrl }); //} } } } } catch (Exception e) { result.AddException(e); } result.AddModelState(ModelState); return(Json(result)); }