private string Create_Delete_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Delete a(n) " + entity_name);
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <param name=\"id\"></param>");
            sb.AppendLine("        public void " + NameHelper.Get_MethodName_DataAccess_Domain_Delete(entity_name) + "(" + NameHelper.Get_Identities_Name(entity_name) + " id)");
            sb.AppendLine("        {");

            sb.AppendLine("            var entity = GetEntity(id);");
            sb.AppendLine("            if (entity != null)");
            sb.AppendLine("            {");
            sb.AppendLine("                GetDbSet<" + entity_name + ">().Remove(entity);");
            sb.AppendLine("            }");

            sb.Append("        }");

            template = template.Replace("{{Delete-Method}}", sb.ToString());

            return(template);
        }
        /// <summary>
        /// 创建代码
        /// </summary>
        public void Create_Code()
        {
            #region folders

            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_query_service);
            string template_file   = template_folder + "{{entity_sub_namespace}}QueryServic.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));
            template = template.Replace("{{data_access_get_details_method_name}}", NameHelper.Get_MethodName_DataAccess_Query_GetDetails_Name(entity_name));
            template = template.Replace("{{data_access_list_method_name}}", NameHelper.Get_MethodName_DataAccess_Query_GetList_Name(entity_name));


            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }
Example #3
0
        public void CreateUpdateModelCode()
        {
            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_view_model);
            string template_file   = template_folder + "{{entity_sub_namespace}}_UpdateModel.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();

            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);
        }
        /// <summary>
        /// 创建代码
        /// </summary>
        public void Create_Code()
        {
            #region folders

            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_data_access_domain_interface);
            string template_file   = template_folder + "I{{entity_sub_namespace}}DataAccessor.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("{{add_return_name}}", entity_name);
            template = template.Replace("{{add_method_name}}", NameHelper.Get_MethodName_DataAccess_Domain_Add(entity_name));
            template = template.Replace("{{upate_method_name}}", NameHelper.Get_MethodName_DataAccess_Domain_Update(entity_name));
            template = template.Replace("{{delete_method_name}}", NameHelper.Get_MethodName_DataAccess_Domain_Delete(entity_name));
            template = template.Replace("{{batch_delete_method_name}}", NameHelper.Get_MethodName_DataAccess_Domain_BatchDelete(entity_name));

            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }
Example #5
0
        /// <summary>
        /// 创建代码
        /// </summary>
        public void Create_Add_Command()
        {
            #region folders

            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_command);
            string template_file   = template_folder + "AddCommand.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);

            StringBuilder sb = new StringBuilder();

            //foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            //foreach (var p in entity_properties.ToList())
            //{
            //    //sb.AppendLine("");
            //    sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(p) + " " + NameHelper.Get_Property_Name_For_Command(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_Command(entity_properties[i].Name) + " { get; set; }");
                }
                else
                {
                    sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(entity_properties[i]) + " " + NameHelper.Get_Property_Name_For_Command(entity_properties[i].Name) + " { get; set; }");
                }
            }

            template = template.Replace("{{Properties}}", sb.ToString());

            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }
        /// <summary>
        /// 创建代码
        /// </summary>
        public void Create_Code()
        {
            #region folders

            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_domain_models);
            string template_file   = template_folder + "{{entity_sub_namespace}}.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));

            #region Create code

            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        public " + NameHelper.Get_Identities_Name(entity_name) + " " + NameHelper.Get_Property_Name_For_DomainModels(entity_id_properties.Name) + " { get; set; }");

            foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            {
                sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(p) + " " + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + " { get; set; }");
            }
            //sb.AppendLine("");
            sb.AppendLine("        public " + entity_name + " ConvertToEntity()");
            sb.AppendLine("        {");
            sb.AppendLine("            " + entity_name + " entity = new " + entity_name + "();");
            foreach (var p in entity_properties.ToList())
            {
                if (p.Name == entity_id_properties.Name)
                {
                    sb.AppendLine("            entity." + p.Name + " = (Guid)this." + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + ".GetPersistId();");
                }
                else
                {
                    sb.AppendLine("            entity." + p.Name + " = this." + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + ";");
                }
            }

            sb.AppendLine("            return entity;");
            sb.Append("        }");

            template = template.Replace("{{Domain-Model-Parmeters}}", sb.ToString());

            #endregion

            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        private string Create_List_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        public PagingRecords<ListModel> " + NameHelper.Get_MethodName_DataAccess_Query_GetList_Name(entity_name) + "(" + NameHelper.Get_ViewModel_Query_ListParameter_Name(entity_name) + " parameter)");
            sb.AppendLine("        {");
            //sb.AppendLine("");
            sb.AppendLine("            var query = GetQuery<" + entity_name + ">();");
            //sb.AppendLine("");
            sb.AppendLine("            #region Where");
            //sb.AppendLine("");
            sb.AppendLine("            var predicate = PredicateBuilder.New<" + entity_name + ">();");

            foreach (var p in entity_properties)
            {
                //sb.AppendLine("");
                if (p.PropertyType == typeof(System.String))
                {
                    sb.AppendLine("            if (!string.IsNullOrWhiteSpace(parameter." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + "))");
                    sb.AppendLine("            {");
                    sb.AppendLine("                predicate = predicate.And(x => x." + p.Name + ".Contains(parameter." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + "));");
                    sb.AppendLine("            }");
                }
                else if (p.PropertyType.IsValueType)
                {
                    sb.AppendLine("            if (parameter." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + ".HasValue)");
                    sb.AppendLine("            {");
                    sb.AppendLine("                predicate = predicate.And(x => x." + p.Name + " == parameter." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + ".Value); ");
                    sb.AppendLine("            }");
                }
                else if (p.PropertyType.IsEnum)
                {
                    sb.AppendLine("            if (parameter." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + ".HasValue)");
                    sb.AppendLine("            {");
                    sb.AppendLine("                var v = (int)parameter." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + ".Value");
                    sb.AppendLine("                predicate = predicate.And(x => x." + p.Name + " == v ");
                    sb.AppendLine("            }");
                }
            }

            //sb.AppendLine("");
            sb.AppendLine("            #endregion");
            //sb.AppendLine("");
            sb.AppendLine("            #region Built SQL");
            //sb.AppendLine("");
            sb.AppendLine("            IQueryable<" + entity_name + "> queryResult = query;");
            //sb.AppendLine("");
            sb.AppendLine("            if (predicate.IsStarted)");
            sb.AppendLine("            {");
            sb.AppendLine("                queryResult = queryResult.Where(predicate);");
            sb.AppendLine("            }");
            //sb.AppendLine("");
            sb.AppendLine("            queryResult = queryResult.OrderByDescending(r => r." + entity_id_properties.Name + ");");
            //sb.AppendLine("");
            sb.AppendLine("            #endregion");
            //sb.AppendLine("");
            //sb.AppendLine("            List<" + entity_name + "> result = queryResult.GetPagingRecords<" + entity_name + ">(parameter.page, parameter.page_size).ToList();");
            sb.AppendLine("            List<" + entity_name + "> result = queryResult.GetPagingRecords(parameter.page, parameter.page_size).ToList();");
            //sb.AppendLine("");
            sb.AppendLine("            var pageList = result.Select(r =>");
            sb.AppendLine("            {");
            //sb.AppendLine("");
            sb.AppendLine("                return new ListModel()");
            sb.AppendLine("                {");
            foreach (var p in entity_properties)
            {
                //sb.AppendLine("");
                sb.AppendLine("                    " + NameHelper.Get_Property_Name_For_Query_ListModel(p.Name) + " = r." + p.Name + ",");
            }
            sb.AppendLine("                };");
            //sb.AppendLine("");
            sb.AppendLine("            });");
            //sb.AppendLine("");
            sb.AppendLine("            return new PagingRecords<ListModel>(pageList, queryResult.Count(), parameter.page, parameter.page_size);");
            //sb.AppendLine("");
            sb.AppendLine("        }");

            template = template.Replace("{{Get-List-Method}}", sb.ToString());

            return(template);
        }
        private string Create_Update_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Update " + entity_name + " details");
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <param name=\"domain_object\"></param>");
            sb.AppendLine("        public void " + NameHelper.Get_MethodName_DataAccess_Domain_Update(entity_name) + "(" + NameHelper.Get_Domain_Model_Name(entity_name) + " domain_model)");
            sb.AppendLine("        {");
            sb.AppendLine("            var entity = GetEntity(domain_model." + NameHelper.Get_Property_Name_For_DomainModels(this.entity_id_properties.Name) + ");");
            sb.AppendLine("            if (entity == null)");
            sb.AppendLine("            {");
            sb.AppendLine("                return;");
            sb.AppendLine("            }");
            foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            {
                //sb.AppendLine("");
                sb.AppendLine("            entity." + p.Name + " = domain_model." + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + ";");
            }

            sb.Append("        }");

            template = template.Replace("{{Update-Method}}", sb.ToString());

            return(template);
        }
        private string Create_Convert_To_Domain_Model_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Convert entity to domain model");
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <param name=\"entity\"></param>");
            sb.AppendLine("        /// <returns></returns>");
            sb.AppendLine("        private static " + NameHelper.Get_Domain_Model_Name(entity_name) + " ConvertTo" + NameHelper.Get_Domain_Model_Name(entity_name) + "(" + entity_name + " entity)");
            sb.AppendLine("        {");
            sb.AppendLine("            return new " + NameHelper.Get_Domain_Model_Name(entity_name) + "()");
            sb.AppendLine("            {");
            sb.AppendLine("                " + NameHelper.Get_Property_Name_For_DomainModels(this.entity_id_properties.Name) + " = new " + NameHelper.Get_Identities_Name(entity_name) + "(entity." + this.entity_id_properties.Name + "),");
            foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            {
                //sb.AppendLine("");
                sb.AppendLine("                " + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + " = entity." + p.Name + ",");
            }
            sb.AppendLine("            };");
            sb.Append("        }");

            template = template.Replace("{{Convert-To-Domain-Model-Method}}", sb.ToString());

            return(template);
        }
        private string Create_Add_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Add a new " + entity_name + "");
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <param name=\"domain_object\"></param>");
            sb.AppendLine("        public " + entity_name + " " + NameHelper.Get_MethodName_DataAccess_Domain_Add(entity_name) + "(" + NameHelper.Get_Domain_Model_Name(entity_name) + " domain_model)");
            sb.AppendLine("        {");
            sb.AppendLine("            var entity = new " + entity_name + "()");
            sb.AppendLine("            {");
            sb.AppendLine("                 " + entity_id_properties.Name + " = (Guid)domain_model." + NameHelper.Get_Property_Name_For_DomainModels(entity_id_properties.Name) + ".GetPersistId(),");
            foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            {
                //sb.AppendLine("");
                sb.AppendLine("                 " + p.Name + " = domain_model." + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + ",");
            }
            sb.AppendLine("            };");
            sb.AppendLine("            GetDbSet<" + entity_name + ">().Add(entity);");
            sb.AppendLine("            return entity;");
            sb.Append("        }");

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

            return(template);
        }
        private string Create_Batch_Delete_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Delete a(n) " + entity_name);
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <param name=\"id\"></param>");
            sb.AppendLine("        public void " + NameHelper.Get_MethodName_DataAccess_Domain_BatchDelete(entity_name) + "(" + NameHelper.Get_Identities_Name(entity_name) + "[] ids)");
            sb.AppendLine("        {");

            sb.AppendLine("             var entity_ids = ids.Select(x => (Guid)x.GetPersistId()).ToArray();");
            sb.AppendLine("             var entities = GetDbSet<" + entity_name + ">().Where(x => entity_ids.Contains(x.id));");
            sb.AppendLine("             GetDbSet<" + entity_name + ">().RemoveRange(entities);");
            //sb.AppendLine("             foreach (var item in entities)");
            //sb.AppendLine("             {");
            //sb.AppendLine("                 GetDbSet<" + entity_name + ">().Remove(item);");
            //sb.AppendLine("             }");

            sb.Append("        }");

            template = template.Replace("{{Batch-Delete-Method}}", sb.ToString());

            return(template);
        }
        public void Create_Update_Command_Custom()
        {
            #region folders
            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_command_handlers);
            string template_file   = template_folder + "UpdateCommandHander_Custom.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_id_name}}", NameHelper.Get_Identities_Name(entity_name));
            //template = template.Replace("{{update_method_name}}", NameHelper.Get_MethodName_DataAccess_Domain_Update(entity_name));

            StringBuilder sb = new StringBuilder();

            #region Exec_Command_Code
            sb.AppendLine("            DomainModels." + NameHelper.Get_Domain_Model_Name(entity_name) + " data = new DomainModels." + NameHelper.Get_Domain_Model_Name(entity_name) + "()");
            sb.AppendLine("            {");
            sb.AppendLine("                " + NameHelper.Get_Property_Name_For_DomainModels(entity_id_properties.Name) + " = new " + NameHelper.Get_Identities_Name(entity_name) + "(command." + NameHelper.Get_Property_Name_For_Command(entity_id_properties.Name) + "),");
            foreach (var p in entity_properties.Where(x => x.Name != entity_id_properties.Name).ToList())
            {
                sb.AppendLine("                " + NameHelper.Get_Property_Name_For_DomainModels(p.Name) + " = command." + NameHelper.Get_Property_Name_For_Command(p.Name) + ",");
            }
            sb.AppendLine("            };");
            sb.AppendLine("            DataAccessor." + NameHelper.Get_MethodName_DataAccess_Domain_Update(entity_name) + "(data);");
            sb.AppendLine("            if (!needTransaction)");
            sb.AppendLine("            {");
            sb.AppendLine("                 DataAccessor.Save();");
            sb.AppendLine("             }");
            sb.AppendLine("            command.ExecuteSuccess(data." + NameHelper.Get_Property_Name_For_DomainModels(entity_id_properties.Name) + ");");

            template = template.Replace("{{Exec_Command_Code}}", sb.ToString());
            #endregion

            #region Validate
            sb = new StringBuilder();

            sb.AppendLine("            var result = new List<BusinessError>();");

            sb.AppendLine("            //---------------------------------------");
            sb.AppendLine("            //Rules");
            sb.AppendLine("            //---------------------------------------");

            foreach (var p in entity_properties)
            {
                switch (p.PropertyType.Name)
                {
                case "String":
                    sb.AppendLine("            if (string.IsNullOrWhiteSpace(command." + NameHelper.Get_Property_Name_For_Command(p.Name) + "))");
                    sb.AppendLine("            {");
                    sb.AppendLine("                result.Add(ErrorFactory.CreateFieldIsRequiredError(\"" + NameHelper.Get_Property_Name_For_Command(p.Name) + "\", \"" + NameHelper.Get_Property_Name_For_DisplayInErrorMessage_DomainModel(p.Name) + " is required!\"));");
                    sb.AppendLine("            }");
                    break;

                case "DateTime":
                    if (p.Nullable)
                    {
                        sb.AppendLine("            if (command." + NameHelper.Get_Property_Name_For_Command(p.Name) + ".HasValue() && !command." + NameHelper.Get_Property_Name_For_Command(p.Name) + ".Value.IsValid())");
                    }
                    else
                    {
                        sb.AppendLine("            if (!command." + NameHelper.Get_Property_Name_For_Command(p.Name) + ".IsValid())");
                    }
                    sb.AppendLine("            {");
                    sb.AppendLine("                result.Add(ErrorFactory.CreateFieldIsRequiredError(\"" + NameHelper.Get_Property_Name_For_Command(p.Name) + "\", \"" + NameHelper.Get_Property_Name_For_DisplayInErrorMessage_DomainModel(p.Name) + " is invalid!\"));");
                    sb.AppendLine("            }");
                    break;

                case "Guid":
                    if (p.Nullable)
                    {
                        sb.AppendLine("            if (command." + NameHelper.Get_Property_Name_For_Command(p.Name) + ".HasValue() && !command." + NameHelper.Get_Property_Name_For_Command(p.Name) + ".Value == Guid.Empty)");
                    }
                    else
                    {
                        sb.AppendLine("            if (command." + NameHelper.Get_Property_Name_For_Command(p.Name) + " == Guid.Empty)");
                    }
                    sb.AppendLine("            {");
                    sb.AppendLine("                result.Add(ErrorFactory.CreateFieldIsRequiredError(\"" + NameHelper.Get_Property_Name_For_Command(p.Name) + "\", \"" + NameHelper.Get_Property_Name_For_DisplayInErrorMessage_DomainModel(p.Name) + " is required!\"));");
                    sb.AppendLine("            }");
                    break;
                }
            }

            sb.AppendLine("            //---------------------------------------");
            sb.AppendLine("            //Other rules");
            sb.AppendLine("            //---------------------------------------");

            template = template.Replace("{{Validate_Command_Parmeters_Code}}", sb.ToString());
            #endregion

            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }
Example #16
0
        private string Create_GetDetails_Code(string template)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("        /// <summary>");
            sb.AppendLine("        /// Get " + entity_name + " domain model");
            sb.AppendLine("        /// </summary>");
            sb.AppendLine("        /// <param name=\"id\"></param> ");
            sb.AppendLine("        /// <returns></returns>");
            sb.AppendLine("        public DetailsModel " + NameHelper.Get_MethodName_DataAccess_Query_GetDetails_Name(entity_name) + "(" + NameHelper.Get_Identities_Name(entity_name) + " id)");
            sb.AppendLine("        {");
            sb.AppendLine("            var entity = GetEntity(id);");
            sb.AppendLine("            if (entity == null)");
            sb.AppendLine("            {");
            sb.AppendLine("                return null;");
            sb.AppendLine("            }");
            sb.AppendLine("            else");
            sb.AppendLine("            {");
            sb.AppendLine("                return new DetailsModel()");
            sb.AppendLine("                {");
            foreach (var p in entity_properties)
            {
                //sb.AppendLine("");
                sb.AppendLine("                    " + NameHelper.Get_Property_Name_For_Query_DetailsModel(p.Name) + " = entity." + p.Name + ",");
            }
            sb.AppendLine("                };");
            sb.AppendLine("            }");
            sb.AppendLine("        }");

            template = template.Replace("{{Get-Details-Method}}", sb.ToString());

            return(template);
        }
Example #17
0
        /// <summary>
        /// 创建代码
        /// </summary>
        public void Create_Code()
        {
            #region folders

            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_query_parameters);
            string template_file   = template_folder + "{{entity_sub_namespace}}ListParameter.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("{{query-list-parameter-name}}", NameHelper.Get_ViewModel_Query_ListParameter_Name(entity_name));

            #region Parameters
            StringBuilder sb = new StringBuilder();

            foreach (var p in entity_properties)
            {
                sb.AppendLine("        public " + NameHelper.GetListParameterTypeString(p) + " " + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + " { get; set; }");
            }

            sb.AppendLine("        public bool? is_order_asc { get; set; }");
            sb.Append("        public string order_property { get; set; }");

            template = template.Replace("{{Parameters}}", sb.ToString());

            #endregion

            #region Parameter-Properties-Convertor

            sb = new StringBuilder();

            foreach (var p in entity_properties)
            {
                sb.AppendLine("            " + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + " = source." + NameHelper.Get_Property_Name_For_ListParameter(p.Name) + ";");
            }
            //for (int i = 0; i < entity_properties.Count; i++)
            //{
            //    if (i == entity_properties.Count - 1)
            //    {
            //        sb.Append("            " + NameHelper.Get_Property_Name_For_ListParameter(entity_properties[i].Name) + " = source." + NameHelper.Get_Property_Name_For_ListParameter(entity_properties[i].Name) + ";");
            //    }
            //    else
            //    {
            //        sb.AppendLine("            " + NameHelper.Get_Property_Name_For_ListParameter(entity_properties[i].Name) + " = source." + NameHelper.Get_Property_Name_For_ListParameter(entity_properties[i].Name) + ";");
            //    }
            //}

            sb.AppendLine("            order_property = source.order_property;");
            sb.Append("            is_order_asc = source.is_order_asc;");

            template = template.Replace("{{Parameter-Properties-Convertor}}", sb.ToString());
            #endregion

            FileHelper.CheckAndCreateFolder(target_folder);
            FileHelper.WriteAll(target_file, template);
        }
Example #18
0
        public void Create_ListModel_Code()
        {
            #region folders

            string template_folder = context.Server.MapPath(settings.folder_templates + settings.template_folder_query_models);
            string template_file   = template_folder + "{{entity_sub_namespace}}\\ListModel.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);

            #region Create code

            StringBuilder sb = new StringBuilder();

            //foreach (var p in entity_properties)
            //{
            //    //sb.AppendLine("");
            //    sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(p) + " " + NameHelper.Get_Property_Name_For_Query_ListModel(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_Query_ListModel(entity_properties[i].Name) + " { get; set; }");
                }
                else
                {
                    sb.AppendLine("        public " + NameHelper.GetEntityPropertyTypeString(entity_properties[i]) + " " + NameHelper.Get_Property_Name_For_Query_ListModel(entity_properties[i].Name) + " { get; set; }");
                }
            }
            template = template.Replace("{{List-Model-Parmeters}}", sb.ToString());

            #endregion

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