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);
        }
        private string Create_Controller_Code_Add(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Add a new " + entity_name);
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <returns></returns>");
            sb.AppendLine("        [Route(\"api/" + entity_sub_namespace + "/Post\")]");
            sb.AppendLine("        [PermissionVerify(new CommonEnum.Operations[] { CommonEnum.Operations.Setup })]");
            sb.AppendLine("        [HttpPost]");
            sb.AppendLine("        public IHttpActionResult Post(" + NameHelper.Get_ViewModel_AddModel(entity_name) + " model)");
            sb.AppendLine("        {");
            sb.AppendLine("             var userInfo = WebData.GetSimpleLoginedUserInfo(LoginUser);");
            sb.AppendLine("             if (userInfo == null) { return Json(new ApiActionResult() { Success = false, Message = \"登录信息失效,请重新登录\" }); }");

            sb.AppendLine("             var command = new AddCommand()");
            sb.AppendLine("             {");
            //foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            foreach (var p in entity_properties.ToList())
            {
                if ("Organization_Id".Equals(NameHelper.Get_Property_Name_For_Command(p.Name)))
                {
                    sb.AppendLine("                " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = userInfo.OrganizationId.Value,");
                }
                else if ("Created_Time".Equals(NameHelper.Get_Property_Name_For_Command(p.Name)))
                {
                    sb.AppendLine("                " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = DateTime.Now,");
                }
                else if ("Created_User_Id".Equals(NameHelper.Get_Property_Name_For_Command(p.Name)))
                {
                    sb.AppendLine("                " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = userInfo.Id,");
                }
                else if ("Id".Equals(NameHelper.Get_Property_Name_For_Command(p.Name)))
                {
                    sb.AppendLine("                " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = Guid.NewGuid(),");
                }
                else
                {
                    sb.AppendLine("                " + NameHelper.Get_Property_Name_For_Command(p.Name) + " = model." + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + ",");
                }
            }
            sb.AppendLine("            };");
            sb.AppendLine("            CommandBus.Send(command);");
            //sb.AppendLine("");
            sb.AppendLine("            if (NeedRecordSystemLog(Operations.Create)) ");
            sb.AppendLine("            {");
            sb.AppendLine("                 RecordSystemLog(null, JsonConvert.SerializeObject(command), \"All\", Operations.Create);");
            sb.AppendLine("            }");
            //sb.AppendLine("");
            sb.AppendLine("            return CommandResult(command.ExecuteResult);");
            sb.Append("        }");

            template = template.Replace("{{Add-Actions}}", sb.ToString());

            return(template);
        }
Beispiel #3
0
        public void CreateAddModelCode()
        {
            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_view_model);
            string template_file   = template_folder + "{{entity_sub_namespace}}_AddModel.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);

            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);


            StringBuilder sb = new StringBuilder();

            //foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            //{
            //    //////sb.AppendLine("");;
            //    sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(p) + " " + NameHelper.Get_Property_Name_For_ViewModel(p.Name) + " { get; set; }");
            //}
            for (int i = 0; i < entity_properties.Count; i++)
            {
                if (i == entity_properties.Count - 1)
                {
                    sb.Append("        public " + NameHelper.GetEntityPropertyTypeString(entity_properties[i]) + " " + NameHelper.Get_Property_Name_For_ViewModel(entity_properties[i].Name) + " { get; set; }");
                }
                else
                {
                    sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(entity_properties[i]) + " " + NameHelper.Get_Property_Name_For_ViewModel(entity_properties[i].Name) + " { get; set; }");
                }
            }
            template = template.Replace("{{Model-Parameters}}", sb.ToString());

            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }