ZhouliProject/ZhouliGenerateCode/CreateCode.cs

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Zhouli.Common.Expansion;

namespace ZhouliGenerateCode
{
    public class CreateCode
    {
        private static List<string> listBLLClass;
        private static List<string> listDALClass;
        private static string strPathDAL = $"{AppContext.BaseDirectory}../../../../Zhouli.DAL/";
        private static string strPathBLL = $"{AppContext.BaseDirectory}../../../../Zhouli.BLL/";
        /// <summary>
        /// 首次读取BLL,DAL下已经生成的类
        /// </summary>
        static CreateCode()
        {
            DirectoryInfo directoryInfoDAL = new DirectoryInfo($"{strPathDAL}Interface");
            listDALClass = directoryInfoDAL.GetFiles().Select(t => t.Name).ToList();
            DirectoryInfo directoryInfoBLL = new DirectoryInfo($"{strPathBLL}Interface");
            listBLLClass = directoryInfoBLL.GetFiles().Select(t => t.Name).ToList();
        }
        /// <summary>
        /// 创建BLL层代码
        /// </summary>
        /// <param name="ModelName"></param>
        public void CreateBLL(string ModelName)
        {
            if (!(listBLLClass.Count(t => t.Contains(ModelName)) > 0))
            {
                #region 生成Interface
                StringBuilder strBLLInterface = new StringBuilder();
                using (FileStream fileStream = new FileStream($"{strPathBLL}Interface/I{ModelName}BLL.cs", FileMode.CreateNew, FileAccess.Write))
                {
                    strBLLInterface.AppendLine("using System;");
                    strBLLInterface.AppendLine("using System.Collections.Generic;");
                    strBLLInterface.AppendLine("using System.Text;");
                    strBLLInterface.AppendLine("using Zhouli.DbEntity.Models;");
                    strBLLInterface.AppendLine("");
                    strBLLInterface.AppendLine("namespace Zhouli.BLL.Interface");
                    strBLLInterface.AppendLine("{");
                    strBLLInterface.AppendLine($"   public interface I{ModelName}BLL : IBaseBLL<{ModelName}>");
                    strBLLInterface.AppendLine("    {}");
                    strBLLInterface.AppendLine("}");
                    byte[] buffer = Encoding.Default.GetBytes(strBLLInterface.ToString());
                    fileStream.Write(buffer, 0, buffer.Length);
                    Console.WriteLine($"I{ModelName}BLL.cs 生成成功!");
                }
                #endregion
                #region 生成Implements
                StringBuilder strBLLImplements = new StringBuilder();
                using (FileStream fileStream = new FileStream($"{strPathBLL}Implements/{ModelName}BLL.cs", FileMode.Create, FileAccess.Write))
                {
                    string strModelNameFirstCharLower = ModelName.FirstCharToLower();
                    strBLLImplements.AppendLine("using System;");
                    strBLLImplements.AppendLine("using System.Collections.Generic;");
                    strBLLImplements.AppendLine("using System.Text;");
后面还有 83 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。