/// <summary> /// 根据模板生成代码 /// </summary> /// <param name="tempID"></param> /// <param name="tablename"></param> /// <param name="forceChange"></param> /// <returns></returns> public JsonResult GeneratorData(int tempID, string tablename, bool forceChange) { ModelForJson data = new ModelForJson(); try { string localURL = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["tempLocation"]); string dllLocation = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["dllLocation"]); string connectStr = System.Configuration.ConfigurationManager.AppSettings["DbConnString"]; string dbType = System.Configuration.ConfigurationManager.AppSettings["DBType"]; var model = context.TempInfo.Find(tempID); if (model != null) { string result = TemplateGenerator.RazorGenerator.DomainHelper.GenetatorTemp(forceChange, dllLocation, Server.MapPath(model.TP_URL), tablename, connectStr, model.TP_NameSpace, dbType); data.Status = 1; data.Result = result; } else { data.Status = 0; data.Desc = "模板信息不存在!"; } } catch (Exception ex) { data.Status = 0; data.Desc = ex.Message; } return(Json(data, JsonRequestBehavior.AllowGet)); }
public JsonResult TempAdd(int OrderID, string TempDesc, string FolderName, string TempName, string Content, string extention, string namespaceStr, int TempType, string fileName) { ModelForJson data = new ModelForJson(); try { string localURL = System.Configuration.ConfigurationManager.AppSettings["tempLocation"]; if (!string.IsNullOrEmpty(Content) && !string.IsNullOrEmpty(TempName)) { string tempURL = localURL + "\\" + TempName + ".cshtml"; string path = Server.MapPath(tempURL); if (FileHelper.IsExistFile(path)) { data.Status = 0; data.Desc = "已存在相同模板,无法添加!"; } else { FileHelper.CreateFile(path); FileHelper.WriteText(path, Content); Data.TempInfo infoModel = new Data.TempInfo(); infoModel.TP_Order = OrderID; infoModel.TP_Desc = TempDesc; infoModel.TP_FolderName = FolderName; infoModel.TP_Name = TempName; infoModel.TP_AddDate = DateTime.Now.ToString(); infoModel.TP_URL = tempURL; infoModel.TP_IsSysTemp = 0; infoModel.TP_Extention = extention; infoModel.TP_NameSpace = namespaceStr; infoModel.TP_Type = TempType; infoModel.TP_FileName = fileName; context.TempInfo.Add(infoModel); context.SaveChanges(); data.Status = 1; data.Desc = "保存成功!"; } } else { data.Status = 0; data.Desc = "模板名或模板内容不能为空!"; } } catch (Exception ex) { data.Status = 0; data.Desc = ex.Message; } return(Json(data)); }
public JsonResult TempEdit(int TempID, int OrderID, string TempDesc, string FolderName, string TempName, string Content, string extention, string namespaceStr, int TempType, string fileName) { ModelForJson data = new ModelForJson(); try { var model = context.TempInfo.Find(TempID); if (model != null) { if (!string.IsNullOrEmpty(Content) && !string.IsNullOrEmpty(TempName)) { string path = Server.MapPath(model.TP_URL); if (FileHelper.IsExistFile(path)) { model.TP_Order = OrderID; model.TP_Desc = TempDesc; model.TP_FolderName = FolderName; model.TP_Name = TempName; model.TP_AddDate = DateTime.Now.ToString(); model.TP_Extention = extention; model.TP_NameSpace = namespaceStr; model.TP_Type = TempType; model.TP_FileName = fileName; context.SaveChanges(); FileHelper.WriteText(path, Content); data.Status = 1; data.Desc = "保存成功!"; } else { data.Status = 0; data.Desc = "保存错误,模板文件不存在!"; } } else { data.Status = 0; data.Desc = "模板名或模板内容不能为空!"; } } else { data.Status = 0; data.Desc = "模板信息错误!"; } } catch (Exception ex) { data.Status = 0; data.Desc = ex.Message; } return(Json(data)); }
public ActionResult TempDelete(int tempID) { ModelForJson data = new ModelForJson(); try { var model = context.TempInfo.Find(tempID); if (model != null) { string path = Server.MapPath(model.TP_URL); if (FileHelper.IsExistFile(path)) { if (model.TP_IsSysTemp == 1) { data.Status = 0; data.Desc = "预置模板不允许删除!"; } else { context.TempInfo.Remove(model); FileHelper.DeleteFile(path); data.Status = 1; data.Desc = "删除成功!"; context.SaveChanges(); } } else { data.Status = 0; data.Desc = "模板文件不存在!"; } } else { data.Status = 0; data.Desc = "模板文件不存在!"; } } catch (Exception ex) { data.Status = 0; data.Desc = ex.Message; } return(Json(data)); }
/// <summary> /// 根据模板生成代码 /// </summary> /// <param name="tempID"></param> /// <param name="tablename"></param> /// <param name="forceChange"></param> /// <returns></returns> public JsonResult GeneratorData(int tempID, string tablename, bool forceChange) { ModelForJson data = new ModelForJson(); try { string localURL = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["tempLocation"]); string dllLocation = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["dllLocation"]); string nameSpace = AppSettingHelper.GetAppSetting("NameSpaceCodeFirst"); var model = context.TempInfo.Find(tempID); if (model != null) { var dataModel = Assembly.GetExecutingAssembly().GetTypes().Where(u => u.Namespace == nameSpace && u.FullName == tablename).ToList(); if (dataModel.Count == 1) { var modelData = TemplateGenerator.CodeFirstGenerator.CodeFirstHelper.GetModelData(dataModel[0]); string dataString = JsonHelper.ToJson(modelData); string result = TemplateGenerator.RazorGenerator.DomainHelper.GenetatorCodeFirst(dllLocation, Server.MapPath(model.TP_URL), forceChange, dataString); data.Status = 1; data.Result = result; } else { data.Status = 0; data.Result = "错误的模型全称!"; } } else { data.Status = 0; data.Desc = "模板信息不存在!"; } } catch (Exception ex) { data.Status = 0; data.Desc = ex.Message; } return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult DatabaseConfig(string sqlStr, string dbType, string dbName) { ModelForJson data = new ModelForJson(); try { TemplateGenerator.Util.AppSettingHelper.UpdateWebConfigAppSetting("DbConnString", sqlStr); TemplateGenerator.Util.AppSettingHelper.UpdateWebConfigAppSetting("DBType", dbType); TemplateGenerator.Util.AppSettingHelper.UpdateWebConfigAppSetting("DBName", dbName); data.Status = 1; data.Desc = "配置成功"; } catch (Exception e) { data.Status = 0; data.Desc = e.Message; } return(Json(data)); }