Ejemplo n.º 1
0
        void GenerateWebPageJs(EntityInfoDto entity, string webProjectPath, string namespaceName)
        {
            string folder = Path.Combine(webProjectPath, "Views", entity.Name + "s");

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }
            string entityDescription = entity.Name;

            if (entity.Type.HasAttribute <EntityDescriptionAttribute>())
            {
                entityDescription = entity.Type.GetAttribute <EntityDescriptionAttribute>().Description;
            }

            var pagetemplate = EmbeddedResourcesHelper.Get("LesoftWuye2.CodeGenerator", "templates.js.txt");

            //1.替换实体名
            string content = pagetemplate;

            content = content.Replace("{$NameSpace$}", namespaceName);
            content = content.Replace("{$EntityName$}", entity.Name);
            content = content.Replace("{$EntityName1$}", entity.Name.ToLower());

            string fileName = Path.Combine(folder, "Index.js");

            File.WriteAllText(fileName, content, Encoding.UTF8);
        }
Ejemplo n.º 2
0
        public static void UpdateUrlTrackerTable()
        {
            if (UrlTrackerRepository.GetUrlTrackerTableExists())
            {
                var folderName = GetFolderName();

                for (var i = 1; i <= 3; i++)
                {
                    var alreadyAdded = false;
                    if (DatabaseProvider == DatabaseProviders.SqlServerCE)
                    {
                        //Check if columns exists
                        var query =
                            EmbeddedResourcesHelper.GetString(string.Concat(folderName, "check-table-" + i + ".sql"));
                        if (!string.IsNullOrEmpty(query))
                        {
                            var ex = ApplicationContext.Current.DatabaseContext.Database.ExecuteScalar <int?>(query);
                            alreadyAdded = ex == 1;
                        }
                    }

                    if (!alreadyAdded)
                    {
                        var query =
                            EmbeddedResourcesHelper.GetString(string.Concat(folderName, "update-table-" + i + ".sql"));
                        if (!string.IsNullOrEmpty(query))
                        {
                            ApplicationContext.Current.DatabaseContext.Database.Execute(query);
                        }
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public static void UpdateUrlTrackerTable()
 {
     if (UrlTrackerRepository.GetUrlTrackerTableExists())
     {
         string updateTableQuery = EmbeddedResourcesHelper.GetString("InfoCaster.Umbraco.UrlTracker.SQL.update-table-1.sql");
         _sqlHelper.ExecuteNonQuery(updateTableQuery);
         updateTableQuery = EmbeddedResourcesHelper.GetString("InfoCaster.Umbraco.UrlTracker.SQL.update-table-2.sql");
         _sqlHelper.ExecuteNonQuery(updateTableQuery);
     }
 }
Ejemplo n.º 4
0
        public static void CreateUrlTrackerTable()
        {
            if (UrlTrackerRepository.GetUrlTrackerTableExists())
            {
                throw new Exception("Table already exists.");
            }

            var folderName = GetFolderName();

            var createTableQuery = EmbeddedResourcesHelper.GetString(string.Concat(folderName, "create-table-1.sql"));

            _sqlHelper.ExecuteNonQuery(createTableQuery);
        }
Ejemplo n.º 5
0
        public static void CreateUrlTrackerTable()
        {
            if (UrlTrackerRepository.GetUrlTrackerTableExists())
            {
                throw new Exception("Table already exists.");
            }

            string createTableQuery = EmbeddedResourcesHelper.GetString("InfoCaster.Umbraco.UrlTracker.SQL.create-table-1.sql");

            _sqlHelper.ExecuteNonQuery(createTableQuery);
            createTableQuery = EmbeddedResourcesHelper.GetString("InfoCaster.Umbraco.UrlTracker.SQL.create-table-2.sql");
            _sqlHelper.ExecuteNonQuery(createTableQuery);
        }
Ejemplo n.º 6
0
        private void VerifyDocuments()
        {
            string embeddedXML;

            embeddedXML = EmbeddedResourcesHelper.ReadEmbeddedFile(_resourceConfigID);

            if (!DependencyService.Get <IFileReadWrite>().FileExist(_fileConfigID))
            {
                DependencyService.Get <IFileReadWrite>().WriteData(_fileConfigID, embeddedXML);
            }
            else
            {
                string platformXML;
                platformXML = DependencyService.Get <IFileReadWrite>().ReadData(_fileConfigID);

                XDocument embeddedDoc    = XDocument.Parse(embeddedXML);
                XDocument platformDoc    = XDocument.Parse(platformXML);
                bool      updateRequired = false;

                foreach (XElement embeddedElement in embeddedDoc.Root.Elements())
                {
                    bool elementFound = false;

                    foreach (XElement platformElement in platformDoc.Root.Elements())
                    {
                        if (platformElement.Name == embeddedElement.Name)
                        {
                            elementFound = true;
                            break;
                        }
                    }

                    if (!elementFound)
                    {
                        updateRequired = true;
                        platformDoc.Root.Add(new XElement(embeddedElement));
                    }
                }

                if (updateRequired)
                {
                    DependencyService.Get <IFileReadWrite>().WriteData(_fileConfigID, platformDoc.ToString());
                }
            }
        }
Ejemplo n.º 7
0
        public void LoadLanguagesXML(string resourceID)
        {
            if (!string.IsNullOrEmpty(resourceID))
            {
                string    xmlLanguageFile = EmbeddedResourcesHelper.ReadEmbeddedFile(resourceID);
                XDocument xMLStream       = XDocument.Parse(xmlLanguageFile);
                _availableLanguage = new List <string>();
                labelLanguages     = xMLStream.Descendants("Label");

                foreach (XElement language in labelLanguages.Descendants())
                {
                    if (!_availableLanguage.Contains(language.Name.ToString()))
                    {
                        _availableLanguage.Add(language.Name.ToString());
                    }
                }
            }
        }
Ejemplo n.º 8
0
        public static void UpdateUrlTrackerTable()
        {
            if (UrlTrackerRepository.GetUrlTrackerTableExists())
            {
                var folderName = GetFolderName();

                for (var i = 1; i <= 3; i++)
                {
                    var alreadyAdded = false;
                    if (DatabaseProvider == DatabaseProviders.SqlServerCE)
                    {
                        //Check if columns exists
                        var query =
                            EmbeddedResourcesHelper.GetString(string.Concat(folderName, "check-table-" + i + ".sql"));
                        if (!string.IsNullOrEmpty(query))
                        {
                            var reader = _sqlHelper.ExecuteReader(query);
                            while (reader.Read())
                            {
                                alreadyAdded = true;
                            }
                        }
                    }

                    if (!alreadyAdded)
                    {
                        var query =
                            EmbeddedResourcesHelper.GetString(string.Concat(folderName, "update-table-" + i + ".sql"));
                        if (!string.IsNullOrEmpty(query))
                        {
                            _sqlHelper.ExecuteNonQuery(query);
                        }
                    }
                }
            }
        }
Ejemplo n.º 9
0
        void GenerateWebPage(EntityInfoDto entity, string webProjectPath, string namespaceName)
        {
            string folder = Path.Combine(webProjectPath, "Views", entity.Name + "s");

            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }
            string entityDescription = entity.Name;

            if (entity.Type.HasAttribute <EntityDescriptionAttribute>())
            {
                entityDescription = entity.Type.GetAttribute <EntityDescriptionAttribute>().Description;
            }

            var pagetemplate = EmbeddedResourcesHelper.Get("LesoftWuye2.CodeGenerator", "templates.page.txt");

            //1.替换实体名
            //2.生成表格
            //3.生成新增页面
            //4.生成修改页面
            string content = pagetemplate.Replace("{$EntityDescription$}", entityDescription);

            content = content.Replace("{$NameSpace$}", namespaceName);
            content = content.Replace("{$EntityName$}", entity.Name);
            content = content.Replace("{$EntityName1$}", entity.Name.ToLower());

            string tableThead = "";
            string tableBody  = "";
            var    members    = entity.Type.GetProperties();

            foreach (var member in members)
            {
                if (member.HasAttribute <DtoAssignAttribute>())
                {
                    var dtoassignInfo = member.GetAttribute <DtoAssignAttribute>();
                    if ((dtoassignInfo.Targets & DtoAssignTargets.ListItem) == 0)
                    {
                        continue;
                    }
                    if (!string.IsNullOrEmpty(tableThead))
                    {
                        tableThead += Environment.NewLine;
                    }
                    if (!string.IsNullOrEmpty(tableBody))
                    {
                        tableBody += Environment.NewLine;
                    }

                    string memberTitle = member.Name;
                    if (member.HasAttribute <DisplayAttribute>())
                    {
                        var displayInfo = member.GetAttribute <DisplayAttribute>();
                        memberTitle = displayInfo.Name;
                    }

                    tableThead += $"<th class='center'>{memberTitle}</th>";
                    tableBody  += $"<td class='center'>@{entity.Name.ToLower()}.{member.Name}</td>";
                }
            }



            content = content.Replace("{$TableThread$}", tableThead);
            content = content.Replace("{$TableBody$}", tableBody);



            string createModal = "";

            foreach (var member in members)
            {
                if (member.HasAttribute <DtoAssignAttribute>())
                {
                    var dtoassignInfo = member.GetAttribute <DtoAssignAttribute>();
                    if ((dtoassignInfo.Targets & DtoAssignTargets.Create) == 0)
                    {
                        continue;
                    }
                    if (!string.IsNullOrEmpty(createModal))
                    {
                        createModal += Environment.NewLine;
                    }


                    string memberTitle = member.Name;
                    if (member.HasAttribute <DisplayAttribute>())
                    {
                        var displayInfo = member.GetAttribute <DisplayAttribute>();
                        memberTitle = displayInfo.Name;
                    }

                    bool required = member.HasAttribute <RequiredAttribute>();

                    if (member.PropertyType == typeof(string))
                    {
                        createModal += $"<div class='form-group'><label label-for='{member.Name}'>{memberTitle}{(required? "<span class='required'>*</span>":"")}</label><input class='form-control' type='text' name='{member.Name}' {(required? "required maxlength='@"+ namespaceName + ".Core."+entity.Name+ "s." + entity.Name + ".Max" + member.Name+"Length'" : "")} ></div>";
                    }
                    else if (member.PropertyType == typeof(int) || member.PropertyType == typeof(decimal))
                    {
                        required     = true;
                        createModal += $"<div class='form-group'><label label-for='{member.Name}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control' type='number' name='{member.Name}' {(required ? "required" : "")} ></div>";
                    }
                    else if (member.PropertyType == typeof(DateTime))
                    {
                        required     = true;
                        createModal += $"<div class='form-group'><label label-for='{member.Name}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control date-picker' data-date-format='yyyy-mm-dd' type='text' name='{member.Name}' {(required ? "required " : "")} ></div>";
                    }
                    else if (member.PropertyType == typeof(bool))
                    {
                        createModal += $"<div class='form-group'><div class='checkbox'><label><input type='checkbox' class='colored-blue' value='true' name='{member.Name}' data-role='excluded'><span class='text'>{memberTitle}</span></label></div></div>";
                    }
                    else
                    {
                        createModal += $"<div class='form-group'><label label-for='{member.Name}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control' type='text' name='{member.Name}' {(required ? "required maxlength='@" + namespaceName + ".Core." + entity.Name + "s." + entity.Name + ".Max" + member.Name + "Length'" : "")} ></div>";
                    }
                }
            }

            content = content.Replace("{$CreateModal$}", createModal);

            string updateModal = "";

            foreach (var member in members)
            {
                if (member.HasAttribute <DtoAssignAttribute>())
                {
                    var dtoassignInfo = member.GetAttribute <DtoAssignAttribute>();
                    if ((dtoassignInfo.Targets & DtoAssignTargets.Update) == 0)
                    {
                        continue;
                    }
                    if (!string.IsNullOrEmpty(updateModal))
                    {
                        updateModal += Environment.NewLine;
                    }


                    string memberTitle = member.Name;
                    if (member.HasAttribute <DisplayAttribute>())
                    {
                        var displayInfo = member.GetAttribute <DisplayAttribute>();
                        memberTitle = displayInfo.Name;
                    }

                    bool   required    = member.HasAttribute <RequiredAttribute>();
                    string memberName1 = member.Name.ToCamelCase();
                    if (member.PropertyType == typeof(string))
                    {
                        updateModal += $"<div class='form-group'><label label-for='{memberName1}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control' type='text' name='{memberName1}' {(required ? "required maxlength='@" + namespaceName + ".Core." + entity.Name + "s." + entity.Name + ".Max" + member.Name + "Length'" : "")} ></div>";
                    }
                    else if (member.PropertyType == typeof(int) || member.PropertyType == typeof(decimal))
                    {
                        updateModal += $"<div class='form-group'><label label-for='{memberName1}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control' type='number' name='{memberName1}' {(required ? "required maxlength='@" + namespaceName + ".Core." + entity.Name + "s." + entity.Name + ".Max" + member.Name + "Length'" : "")} ></div>";
                    }
                    else if (member.PropertyType == typeof(DateTime))
                    {
                        required     = true;
                        updateModal += $"<div class='form-group'><label label-for='{memberName1}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control date-picker' data-date-format='yyyy-mm-dd' type='text' name='{memberName1}' {(required ? "required " : "")} ></div>";
                    }
                    else if (member.PropertyType == typeof(bool))
                    {
                        updateModal += $"<div class='form-group'><div class='checkbox'><label><input type='checkbox' class='colored-blue' value='true' name='{memberName1}' data-role='excluded'><span class='text'>{memberTitle}</span></label></div></div>";
                    }
                    else
                    {
                        updateModal += $"<div class='form-group'><label label-for='{memberName1}'>{memberTitle}{(required ? "<span class='required'>*</span>" : "")}</label><input class='form-control' type='text' name='{memberName1}' {(required ? "required maxlength='@" + namespaceName + ".Core." + entity.Name + "s." + entity.Name + ".Max" + member.Name + "Length'" : "")} ></div>";
                    }
                }
            }

            content = content.Replace("{$UpdateModal$}", updateModal);



            string fileName = Path.Combine(folder, "Index.cshtml");

            File.WriteAllText(fileName, content, Encoding.UTF8);
        }