private string Create_Controller_Code_Details(string template) { StringBuilder sb = new StringBuilder(); sb.AppendLine(" /// <summary>"); sb.AppendLine(" /// Get " + entity_name + " detail"); sb.AppendLine(" /// </summary>"); sb.AppendLine(" /// <param name=\"id\"></param>"); sb.AppendLine(" /// <returns></returns>"); sb.AppendLine(" [Route(\"api/" + entity_sub_namespace + "/Details\")]"); sb.AppendLine(" [PermissionVerify(CommonEnum.Operations.Read)]"); sb.AppendLine(" [HttpGet]"); sb.AppendLine(" public IHttpActionResult Get(Guid modelId)"); sb.AppendLine(" {"); sb.AppendLine(" " + NameHelper.Get_Identities_Name(entity_name) + " " + entity_id_properties.Name.ToString() + " = new " + NameHelper.Get_Identities_Name(entity_name) + "(modelId);"); sb.AppendLine(" var queryResult = QueryService." + NameHelper.Get_MethodName_QueryService_GetDetails_Name(entity_name) + "(" + entity_id_properties.Name.ToString() + ");"); sb.AppendLine(" if (queryResult != null)"); sb.AppendLine(" {"); sb.AppendLine(" return Json(queryResult);"); sb.AppendLine(" }"); sb.AppendLine(" return Json(string.Empty);"); sb.Append(" }"); template = template.Replace("{{Details-Actions}}", sb.ToString()); return(template); }
/// <summary> /// 创建代码 /// </summary> public void Create_Code() { #region folders string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_data_access_query_interface); string template_file = template_folder + "I{{entity_sub_namespace}}QueryDataAccessor.cs"; string target_folder = template_folder.Replace(context.Server.MapPath(settings.folder_templates), context.Server.MapPath(settings.folder_result)); string target_file = template_file.Replace(context.Server.MapPath(settings.folder_templates), context.Server.MapPath(settings.folder_result)); target_folder = target_folder.Replace("{{namespace}}", settings.code_namespace); target_folder = target_folder.Replace("{{entity_sub_namespace}}", entity_sub_namespace); target_file = target_file.Replace("{{namespace}}", settings.code_namespace); target_file = target_file.Replace("{{entity_sub_namespace}}", entity_sub_namespace); #endregion string template = FileHelper.ReadAll(template_file); template = template.Replace("{{namespace}}", settings.code_namespace); template = template.Replace("{{entity_name}}", entity_name); template = template.Replace("{{entity_sub_namespace}}", entity_sub_namespace); template = template.Replace("{{domain_model_name}}", NameHelper.Get_Domain_Model_Name(entity_name)); template = template.Replace("{{domain_model_id_name}}", NameHelper.Get_Identities_Name(entity_name)); template = template.Replace("{{get_details_method_name}}", NameHelper.Get_MethodName_QueryService_GetDetails_Name(entity_name)); template = template.Replace("{{list_method_name}}", NameHelper.Get_MethodName_QueryService_GetList_Name(entity_name)); template = template.Replace("{{list_parameters_model_name}}", NameHelper.Get_ViewModel_Query_ListParameter_Name(entity_name)); FileHelper.CheckAndCreateFolder(target_folder); FileHelper.WriteAll(target_file, template); }
private string Create_Controller_Code_Update(string template) { StringBuilder sb = new StringBuilder(); sb.AppendLine(" /// <summary>"); sb.AppendLine(" /// Update a(n) " + entity_name + " details"); sb.AppendLine(" /// </summary>"); sb.AppendLine(" /// <returns></returns>"); sb.AppendLine(" [Route(\"api/" + entity_sub_namespace + "/Put\")]"); sb.AppendLine(" [PermissionVerify(new CommonEnum.Operations[] { CommonEnum.Operations.Setup })]"); sb.AppendLine(" [HttpPut]"); sb.AppendLine(" public IHttpActionResult Put(" + NameHelper.Get_ViewModel_UpdateModel(entity_name) + " model)"); sb.AppendLine(" {"); sb.AppendLine(" " + NameHelper.Get_Identities_Name(entity_name) + " " + entity_id_properties.Name.ToString() + " = new " + NameHelper.Get_Identities_Name(entity_name) + "(model.id);"); sb.AppendLine(" var oldValue = QueryService." + NameHelper.Get_MethodName_QueryService_GetDetails_Name(entity_name) + "(" + entity_id_properties.Name.ToString() + ");"); sb.AppendLine(" var command = new UpdateCommand()"); sb.AppendLine(" {"); foreach (var p in entity_properties) { if (NameHelper.Get_Property_Name_For_Command(p.Name).Equals("Created_Time") || NameHelper.Get_Property_Name_For_Command(p.Name).Equals("Created_User_Id") || NameHelper.Get_Property_Name_For_Command(p.Name).Equals("Last_Updated_Time") || NameHelper.Get_Property_Name_For_Command(p.Name).Equals("Last_Updated_User_Id")) { break; } if (NameHelper.Get_Property_Name_For_Command(p.Name).Equals("Organization_Id")) { sb.AppendLine(" " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = oldValue." + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + ","); } else { sb.AppendLine(" " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = model." + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + ","); } } sb.AppendLine(" };"); //sb.AppendLine(""); sb.AppendLine(" command.Created_Time = oldValue.created_time;"); sb.AppendLine(" command.Created_User_Id = oldValue.created_user_id;"); sb.AppendLine(" command.Last_Updated_Time = DateTime.Now;"); sb.AppendLine(" command.Last_Updated_User_Id = WebData.LoginedUser.UserId;"); //sb.AppendLine(""); sb.AppendLine(" CommandBus.Send(command);"); //sb.AppendLine(""); sb.AppendLine(" var properties = string.Empty;"); foreach (var p in entity_properties) { sb.AppendLine(" if(oldValue." + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + " != model." + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + ")"); sb.AppendLine(" {"); sb.AppendLine(" properties += \"" + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + ";\";"); sb.AppendLine(" }"); } //sb.AppendLine(""); sb.AppendLine(" if (!properties.IsNullOrEmpty()) { properties.Substring(0, properties.Length - 1); }"); //sb.AppendLine(""); sb.AppendLine(" if (NeedRecordSystemLog(Operations.Update)) "); sb.AppendLine(" {"); sb.AppendLine(" RecordSystemLog(JsonConvert.SerializeObject(command), null, properties, Operations.Delete);"); sb.AppendLine(" }"); sb.AppendLine(" return CommandResult(command.ExecuteResult);"); sb.Append(" }"); template = template.Replace("{{Update-Actions}}", sb.ToString()); return(template); }