internal WebItemGeneralData(
            string webProjectPath, string pathRelativeToProject, bool includeFileExtensionInClassName, WebProject webProjectConfiguration)
        {
            this.pathRelativeToProject = pathRelativeToProject;

            // Get the URL for this item. "Plain old class" entity setups do not have URLs.
            urlRelativeToProject = pathRelativeToProject.EndsWith(".cs") ? "" : pathRelativeToProject.Replace(System.IO.Path.DirectorySeparatorChar, '/');

            // Load this item's code if it exists.
            path = EwlStatics.CombinePaths(webProjectPath, pathRelativeToProject);
            var codePath = path.EndsWith(".cs") ? path : path + ".cs";

            code = File.Exists(codePath) ? File.ReadAllText(codePath) : "";

            // Attempt to get the namespace from the code. If this fails, use a namespace based on the item's path in the project.
            foreach (Match match in Regex.Matches(code, @"namespace\s(?<namespace>.*)\s{"))
            {
                itemNamespace = match.Groups["namespace"].Value;
            }
            if (itemNamespace == null)
            {
                itemNamespace = getNamespaceFromFilePath(webProjectConfiguration.NamespaceAndAssemblyName, pathRelativeToProject);
            }

            className = EwlStatics.GetCSharpIdentifier(
                System.IO.Path.GetFileNameWithoutExtension(path).CapitalizeString() +
                (includeFileExtensionInClassName ? System.IO.Path.GetExtension(path).CapitalizeString() : ""));
            this.webProjectConfiguration = webProjectConfiguration;
        }
Esempio n. 2
0
        private void copyInWebProjectFiles(Installation installation, WebProject webProject)
        {
            var webProjectFilesFolderPath = StandardLibraryMethods.CombinePaths(AppTools.InstallationPath, AppStatics.WebProjectFilesFolderName);
            var webProjectPath            = StandardLibraryMethods.CombinePaths(installation.GeneralLogic.Path, webProject.name);

            // Copy Ewf folder and customize namespaces in .aspx, .ascx, .master, and .cs files.
            var webProjectEwfFolderPath = StandardLibraryMethods.CombinePaths(webProjectPath, StaticFileHandler.EwfFolderName);

            IoMethods.DeleteFolder(webProjectEwfFolderPath);
            IoMethods.CopyFolder(StandardLibraryMethods.CombinePaths(webProjectFilesFolderPath, StaticFileHandler.EwfFolderName), webProjectEwfFolderPath, false);
            IoMethods.RecursivelyRemoveReadOnlyAttributeFromItem(webProjectEwfFolderPath);
            var matchingFiles = new List <string>();

            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.aspx", SearchOption.AllDirectories));
            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.ascx", SearchOption.AllDirectories));
            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.master", SearchOption.AllDirectories));
            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.cs", SearchOption.AllDirectories));
            foreach (var filePath in matchingFiles)
            {
                File.WriteAllText(filePath, customizeNamespace(File.ReadAllText(filePath), webProject));
            }

            IoMethods.CopyFile(
                StandardLibraryMethods.CombinePaths(webProjectFilesFolderPath, AppStatics.StandardLibraryFilesFileName),
                StandardLibraryMethods.CombinePaths(webProjectPath, AppStatics.StandardLibraryFilesFileName));
            IoMethods.RecursivelyRemoveReadOnlyAttributeFromItem(StandardLibraryMethods.CombinePaths(webProjectPath, AppStatics.StandardLibraryFilesFileName));
        }
Esempio n. 3
0
        internal static void GenerateWebConfig(WebApplication application, WebProject project)
        {
            var sections = new XmlDocument {
                PreserveWhitespace = true
            };

            using (var reader = new StringReader(getSectionString(project)))
                sections.Load(reader);

            if (!File.Exists(application.WebConfigFilePath))
            {
                throw new UserCorrectableException("The {0} file is missing.".FormatWith(WebApplication.WebConfigFileName));
            }
            var webConfig = new XmlDocument {
                PreserveWhitespace = true
            };

            webConfig.Load(application.WebConfigFilePath);

            replaceSection(sections, webConfig, "appSettings");
            replaceSection(sections, webConfig, "system.web");
            replaceSection(sections, webConfig, "system.webServer");

            try {
                webConfig.Save(application.WebConfigFilePath);
            }
            catch (Exception e) {
                const string message = "Failed to write web configuration file.";
                if (e is UnauthorizedAccessException)
                {
                    throw new UserCorrectableException(message, e);
                }
                throw new ApplicationException(message, e);
            }
        }
Esempio n. 4
0
        private static string getSectionString(WebProject project)
        {
            var sections = File.ReadAllText(EwlStatics.CombinePaths(ConfigurationStatics.FilesFolderPath, "Template.config"));

            if (project.UsesEntityFrameworkSpecified && project.UsesEntityFramework)
            {
                sections = sections.Replace(
                    "<compilation debug=\"true\" targetFramework=\"4.7.2\" />",
                    "<compilation debug=\"true\" targetFramework=\"4.7.2\"><buildProviders><remove extension=\".edmx\" /></buildProviders></compilation>");
            }

            sections = sections.Replace("@@SessionTimeout", ((int)AuthenticationStatics.SessionDuration.TotalMinutes).ToString());

            var useCertificateAuth = project.useCertificateAuthenticationSpecified && project.useCertificateAuthentication;

            sections = sections.Replace(
                "@@CertificateAuthenticationModulePlace",
                useCertificateAuth
                                        ? "<add name=\"CertificateAuthentication\" type=\"EnterpriseWebLibrary.CertificateAuthenticationModule, EnterpriseWebLibrary\"/>"
                                        : "");

            const string cacheTimeoutTimeSpan = "10:00:00";             // 10 hours

            sections = sections.Replace("@@CacheTimeout", cacheTimeoutTimeSpan);

            return(sections);
        }
        internal static void GenerateWebConfig( WebProject webProject, string webProjectPath )
        {
            var sections = new XmlDocument { PreserveWhitespace = true };
            using( var reader = new StringReader( getSectionString( webProject ) ) )
                sections.Load( reader );

            if( !File.Exists( EwlStatics.CombinePaths( webProjectPath, "Web.config" ) ) )
                throw new UserCorrectableException( "The Web.config file is missing." );
            var webConfig = new XmlDocument { PreserveWhitespace = true };
            webConfig.Load( EwlStatics.CombinePaths( webProjectPath, "Web.config" ) );

            replaceSection( sections, webConfig, "appSettings" );
            replaceSection( sections, webConfig, "system.web" );
            replaceSection( sections, webConfig, "system.webServer" );

            try {
                webConfig.Save( EwlStatics.CombinePaths( webProjectPath, "Web.config" ) );
            }
            catch( Exception e ) {
                const string message = "Failed to write web configuration file.";
                if( e is UnauthorizedAccessException )
                    throw new UserCorrectableException( message, e );
                throw new ApplicationException( message, e );
            }
        }
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_WebInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_WebInfo(");
            strSql.Append("FilePath,WebURL,Title,KeyWords,Description,Remark)");
            strSql.Append(" values (");
            strSql.Append("@FilePath,@WebURL,@Title,@KeyWords,@Description,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@FilePath", SqlDbType.VarChar,500),
                    new SqlParameter("@WebURL", SqlDbType.Text),
                    new SqlParameter("@Title", SqlDbType.Text),
                    new SqlParameter("@KeyWords", SqlDbType.Text),
                    new SqlParameter("@Description", SqlDbType.Text),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.FilePath;
            parameters[1].Value = model.WebURL;
            parameters[2].Value = model.Title;
            parameters[3].Value = model.KeyWords;
            parameters[4].Value = model.Description;
            parameters[5].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        internal static void GenerateWebConfig( WebApplication application, WebProject project )
        {
            var sections = new XmlDocument { PreserveWhitespace = true };
            using( var reader = new StringReader( getSectionString( project ) ) )
                sections.Load( reader );

            if( !File.Exists( application.WebConfigFilePath ) )
                throw new UserCorrectableException( "The {0} file is missing.".FormatWith( WebApplication.WebConfigFileName ) );
            var webConfig = new XmlDocument { PreserveWhitespace = true };
            webConfig.Load( application.WebConfigFilePath );

            replaceSection( sections, webConfig, "appSettings" );
            replaceSection( sections, webConfig, "system.web" );
            replaceSection( sections, webConfig, "system.webServer" );

            try {
                webConfig.Save( application.WebConfigFilePath );
            }
            catch( Exception e ) {
                const string message = "Failed to write web configuration file.";
                if( e is UnauthorizedAccessException )
                    throw new UserCorrectableException( message, e );
                throw new ApplicationException( message, e );
            }
        }
Esempio n. 8
0
 public Base(string Name, WebProject NewProject, string HTMLPath, string CSSPath)
 {
     this.ObjectName     = Name;
     this.CurrentProject = NewProject;
     this.HTML_Path      = HTMLPath;
     this.CSS_Path       = CSSPath;
 }
        void CreateWebProject(string name)
        {
            string fileName = @"d:\projects\MyProject\MyProject.csproj";

            testableProject = TestableProject.CreateProject(fileName, name);
            project         = new WebProject(testableProject);
        }
        internal static void GenerateWebConfig(WebProject webProject, string webProjectPath)
        {
            var sections = new XmlDocument {
                PreserveWhitespace = true
            };

            using (var reader = new StringReader(getSectionString(webProject)))
                sections.Load(reader);

            if (!File.Exists(StandardLibraryMethods.CombinePaths(webProjectPath, "Web.config")))
            {
                throw new UserCorrectableException("The Web.config file is missing.");
            }
            var webConfig = new XmlDocument {
                PreserveWhitespace = true
            };

            webConfig.Load(StandardLibraryMethods.CombinePaths(webProjectPath, "Web.config"));

            replaceSection(sections, webConfig, "appSettings");
            replaceSection(sections, webConfig, "system.web");
            replaceSection(sections, webConfig, "system.webServer");

            try {
                webConfig.Save(StandardLibraryMethods.CombinePaths(webProjectPath, "Web.config"));
            }
            catch (Exception e) {
                const string message = "Failed to write web configuration file.";
                if (e is UnauthorizedAccessException)
                {
                    throw new UserCorrectableException(message, e);
                }
                throw new ApplicationException(message, e);
            }
        }
Esempio n. 11
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_NewsType model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_NewsType(");
            strSql.Append("NewsTypeNo,NewsTypeName,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@NewsTypeNo,@NewsTypeName,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@NewsTypeNo", SqlDbType.Text),
                    new SqlParameter("@NewsTypeName", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.NewsTypeNo;
            parameters[1].Value = model.NewsTypeName;
            parameters[2].Value = model.CreateBy;
            parameters[3].Value = model.CreateDate;
            parameters[4].Value = model.LastUpdateBy;
            parameters[5].Value = model.LastUpdateDate;
            parameters[6].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        public ActionResult AddProject(string returnUrl)
        {
            ViewBag.Action    = "Add";
            ViewBag.ReturnUrl = returnUrl;
            WebProject webProject = new WebProject();

            return(View(webProject));
        }
        public ActionResult UpdateProject(WebProject webProject, string returnUrl)
        {
            ProjectBLL projectBLL = new ProjectBLL();

            CResult <bool> cResult = projectBLL.UpdateProjectInfo(webProject);

            return(JsonContentHelper.GetJsonContent(cResult));
        }
Esempio n. 14
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_LiuYan model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_LiuYan(");
            strSql.Append("MainInfo,Body,Name,Sex,Telephone,Mobile,Fax,Email,CompanyName,Address,MailNum,IsIndex,Reply,ReplyTime,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@MainInfo,@Body,@Name,@Sex,@Telephone,@Mobile,@Fax,@Email,@CompanyName,@Address,@MailNum,@IsIndex,@Reply,@ReplyTime,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@MainInfo", SqlDbType.Text),
                    new SqlParameter("@Body", SqlDbType.Text),
                    new SqlParameter("@Name", SqlDbType.VarChar,500),
                    new SqlParameter("@Sex", SqlDbType.VarChar,2),
                    new SqlParameter("@Telephone", SqlDbType.VarChar,20),
                    new SqlParameter("@Mobile", SqlDbType.VarChar,20),
                    new SqlParameter("@Fax", SqlDbType.VarChar,50),
                    new SqlParameter("@Email", SqlDbType.VarChar,50),
                    new SqlParameter("@CompanyName", SqlDbType.VarChar,500),
                    new SqlParameter("@Address", SqlDbType.VarChar,500),
                    new SqlParameter("@MailNum", SqlDbType.VarChar,20),
                    new SqlParameter("@IsIndex", SqlDbType.VarChar,2),
                    new SqlParameter("@Reply", SqlDbType.Text),
                    new SqlParameter("@ReplyTime", SqlDbType.DateTime),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.MainInfo;
            parameters[1].Value = model.Body;
            parameters[2].Value = model.Name;
            parameters[3].Value = model.Sex;
            parameters[4].Value = model.Telephone;
            parameters[5].Value = model.Mobile;
            parameters[6].Value = model.Fax;
            parameters[7].Value = model.Email;
            parameters[8].Value = model.CompanyName;
            parameters[9].Value = model.Address;
            parameters[10].Value = model.MailNum;
            parameters[11].Value = model.IsIndex;
            parameters[12].Value = model.Reply;
            parameters[13].Value = model.ReplyTime;
            parameters[14].Value = model.CreateBy;
            parameters[15].Value = model.CreateDate;
            parameters[16].Value = model.LastUpdateBy;
            parameters[17].Value = model.LastUpdateDate;
            parameters[18].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        public ActionResult AddProject(WebProject webProject)
        {
            ProjectBLL projectBLL = new ProjectBLL();

            webProject.CreateUserID          = this.GetCurrentUserID();
            webProject.WebUser.OrderClientID = this.GetCurrentOrderClientID();
            CResult <bool> cResult = projectBLL.InsertProject(webProject);

            return(JsonContentHelper.GetJsonContent(cResult));
        }
Esempio n. 16
0
        private static void Bridge()
        {
            Project webProject = new WebProject("Web项目");

            Bridge.Base.Manager projectManager = new ProjectManager(webProject);
            Bridge.Base.Manager productManager = new ProductManager(webProject);

            projectManager.ManageProject();
            productManager.ManageProject();

            Console.ReadLine();
        }
        public ActionResult UpdateProject(string projectID, string returnUrl)
        {
            ProjectBLL projectBLL = new ProjectBLL();
            var        result     = projectBLL.GetProjectInfoByID(projectID);
            WebProject webProject = null;

            if (result.Code == 0)
            {
                webProject = result.Data;
            }
            ViewBag.ReturnUrl = returnUrl;
            return(View(webProject));
        }
Esempio n. 18
0
        public CResult <bool> InsertProject(WebProject webProject)
        {
            LogHelper.Info(MethodBase.GetCurrentMethod().ToString());
            LogHelper.Info("webProject", webProject);

            using (var context = new DeviceMgmtEntities())
            {
                if (context.Project.Any(t => t.CreateUserID == webProject.CreateUserID && t.Name.ToUpper() == webProject.Name.ToUpper() && t.IsValid))
                {
                    return(new CResult <bool>(false, ErrorCode.ProjectNameIsExist));
                }

                var project = new Project();
                project.CreateDate   = DateTime.Now;
                project.CreateUserID = webProject.CreateUserID;
                project.ID           = Guid.NewGuid().ToString();
                project.Name         = webProject.Name;
                project.Note         = webProject.Note;
                project.IsValid      = true;

                var webUser = webProject.WebUser;
                webUser.CreateUserID = webProject.CreateUserID;

                var userLoginName = webUser.LoginName.ToUpper();
                if (context.User.Any(t => t.LoginName.ToUpper() == userLoginName))
                {
                    return(new CResult <bool>(false, ErrorCode.LoginNameIsExist));
                }

                var entity = new User()
                {
                    UserID        = Guid.NewGuid().ToString(),
                    Password      = webUser.Pwd,
                    LoginName     = webUser.LoginName,
                    Name          = webUser.UserName,
                    ProjectID     = project.ID,
                    Address       = webUser.Address,
                    Telephone     = webUser.TelPhone,
                    CreateDate    = DateTime.Now,
                    CreateUserID  = webUser.CreateUserID,
                    Email         = webUser.Email,
                    IsValid       = true,
                    Role          = (int)RoleType.项目管理员,
                    OrderClientID = webUser.OrderClientID
                };
                context.Project.Add(project);
                context.User.Add(entity);

                return(context.Save());
            }
        }
Esempio n. 19
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_RenCai model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_RenCai(");
            strSql.Append("Position,Name,Sex,Birthday,Address,Telephone,Mobile,Email,School,Resume,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@Position,@Name,@Sex,@Birthday,@Address,@Telephone,@Mobile,@Email,@School,@Resume,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@Position", SqlDbType.VarChar,500),
                    new SqlParameter("@Name", SqlDbType.VarChar,50),
                    new SqlParameter("@Sex", SqlDbType.VarChar,2),
                    new SqlParameter("@Birthday", SqlDbType.DateTime),
                    new SqlParameter("@Address", SqlDbType.Text),
                    new SqlParameter("@Telephone", SqlDbType.VarChar,50),
                    new SqlParameter("@Mobile", SqlDbType.VarChar,50),
                    new SqlParameter("@Email", SqlDbType.VarChar,50),
                    new SqlParameter("@School", SqlDbType.VarChar,500),
                    new SqlParameter("@Resume", SqlDbType.Text),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.Position;
            parameters[1].Value = model.Name;
            parameters[2].Value = model.Sex;
            parameters[3].Value = model.Birthday;
            parameters[4].Value = model.Address;
            parameters[5].Value = model.Telephone;
            parameters[6].Value = model.Mobile;
            parameters[7].Value = model.Email;
            parameters[8].Value = model.School;
            parameters[9].Value = model.Resume;
            parameters[10].Value = model.CreateBy;
            parameters[11].Value = model.CreateDate;
            parameters[12].Value = model.LastUpdateBy;
            parameters[13].Value = model.LastUpdateDate;
            parameters[14].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_WebMainInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_WebMainInfo(");
            strSql.Append("Title,WebURL,CompanyName,Address,MailNum,Mobile,Fax,Email,QQ,KeepPerson,Telephone,KeyWords,Description,ICP,Remark)");
            strSql.Append(" values (");
            strSql.Append("@Title,@WebURL,@CompanyName,@Address,@MailNum,@Mobile,@Fax,@Email,@QQ,@KeepPerson,@Telephone,@KeyWords,@Description,@ICP,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@Title", SqlDbType.Text),
                    new SqlParameter("@WebURL", SqlDbType.VarChar,100),
                    new SqlParameter("@CompanyName", SqlDbType.VarChar,500),
                    new SqlParameter("@Address", SqlDbType.Text),
                    new SqlParameter("@MailNum", SqlDbType.VarChar,50),
                    new SqlParameter("@Mobile", SqlDbType.VarChar,50),
                    new SqlParameter("@Fax", SqlDbType.VarChar,50),
                    new SqlParameter("@Email", SqlDbType.VarChar,50),
                    new SqlParameter("@QQ", SqlDbType.VarChar,50),
                    new SqlParameter("@KeepPerson", SqlDbType.VarChar,50),
                    new SqlParameter("@Telephone", SqlDbType.VarChar,50),
                    new SqlParameter("@KeyWords", SqlDbType.Text),
                    new SqlParameter("@Description", SqlDbType.Text),
                    new SqlParameter("@ICP", SqlDbType.VarChar,50),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.Title;
            parameters[1].Value = model.WebURL;
            parameters[2].Value = model.CompanyName;
            parameters[3].Value = model.Address;
            parameters[4].Value = model.MailNum;
            parameters[5].Value = model.Mobile;
            parameters[6].Value = model.Fax;
            parameters[7].Value = model.Email;
            parameters[8].Value = model.QQ;
            parameters[9].Value = model.KeepPerson;
            parameters[10].Value = model.Telephone;
            parameters[11].Value = model.KeyWords;
            parameters[12].Value = model.Description;
            parameters[13].Value = model.ICP;
            parameters[14].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
Esempio n. 21
0
        private void copyInWebProjectFiles(Installation installation, WebProject webProject)
        {
            var webProjectFilesFolderPath = EwlStatics.CombinePaths(ConfigurationStatics.InstallationPath, AppStatics.WebProjectFilesFolderName);
            var webProjectPath            = EwlStatics.CombinePaths(installation.GeneralLogic.Path, webProject.name);

            // Copy Ewf folder and customize namespaces in .aspx, .ascx, .master, and .cs files.
            var webProjectEwfFolderPath = EwlStatics.CombinePaths(webProjectPath, StaticFileHandler.EwfFolderName);

            IoMethods.DeleteFolder(webProjectEwfFolderPath);
            IoMethods.CopyFolder(EwlStatics.CombinePaths(webProjectFilesFolderPath, StaticFileHandler.EwfFolderName), webProjectEwfFolderPath, false);
            IoMethods.RecursivelyRemoveReadOnlyAttributeFromItem(webProjectEwfFolderPath);
            var matchingFiles = new List <string>();

            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.aspx", SearchOption.AllDirectories));
            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.ascx", SearchOption.AllDirectories));
            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.master", SearchOption.AllDirectories));
            matchingFiles.AddRange(Directory.GetFiles(webProjectEwfFolderPath, "*.cs", SearchOption.AllDirectories));
            foreach (var filePath in matchingFiles)
            {
                File.WriteAllText(filePath, customizeNamespace(File.ReadAllText(filePath), webProject));
            }

            IoMethods.CopyFile(
                EwlStatics.CombinePaths(webProjectFilesFolderPath, AppStatics.StandardLibraryFilesFileName),
                EwlStatics.CombinePaths(webProjectPath, AppStatics.StandardLibraryFilesFileName));
            IoMethods.RecursivelyRemoveReadOnlyAttributeFromItem(EwlStatics.CombinePaths(webProjectPath, AppStatics.StandardLibraryFilesFileName));

            // Add the Import element to the project file if it's not already present.
            var projectDocument = new XmlDocument {
                PreserveWhitespace = true
            };
            var projectDocumentPath = EwlStatics.CombinePaths(webProjectPath, "{0}.csproj".FormatWith(webProject.name));

            projectDocument.Load(projectDocumentPath);
            var          projectElement          = projectDocument["Project"];
            const string webProjectFilesFileName = "Standard Library Files.xml";
            var          namespaceManager        = new XmlNamespaceManager(projectDocument.NameTable);
            const string ns = "http://schemas.microsoft.com/developer/msbuild/2003";

            namespaceManager.AddNamespace("p", ns);
            if (projectElement.SelectSingleNode("p:Import[ @Project = \"{0}\" ]".FormatWith(webProjectFilesFileName), namespaceManager) == null)
            {
                var importElement = projectDocument.CreateElement("Import", ns);
                importElement.SetAttribute("Project", webProjectFilesFileName);
                projectElement.AppendChild(importElement);
                projectDocument.Save(projectDocumentPath);
            }
        }
Esempio n. 22
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_ZhaoPin model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_ZhaoPin(");
            strSql.Append("Position,ZhaoPinOrder,Address,Number,Salary,StartDate,EndDate,Body,YingPin,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@Position,@ZhaoPinOrder,@Address,@Number,@Salary,@StartDate,@EndDate,@Body,@YingPin,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@Position", SqlDbType.VarChar,500),
                    new SqlParameter("@ZhaoPinOrder", SqlDbType.Int,4),
                    new SqlParameter("@Address", SqlDbType.Text),
                    new SqlParameter("@Number", SqlDbType.Int,4),
                    new SqlParameter("@Salary", SqlDbType.Text),
                    new SqlParameter("@StartDate", SqlDbType.DateTime),
                    new SqlParameter("@EndDate", SqlDbType.DateTime),
                    new SqlParameter("@Body", SqlDbType.Text),
                    new SqlParameter("@YingPin", SqlDbType.Int,4),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.Position;
            parameters[1].Value = model.ZhaoPinOrder;
            parameters[2].Value = model.Address;
            parameters[3].Value = model.Number;
            parameters[4].Value = model.Salary;
            parameters[5].Value = model.StartDate;
            parameters[6].Value = model.EndDate;
            parameters[7].Value = model.Body;
            parameters[8].Value = model.YingPin;
            parameters[9].Value = model.CreateBy;
            parameters[10].Value = model.CreateDate;
            parameters[11].Value = model.LastUpdateBy;
            parameters[12].Value = model.LastUpdateDate;
            parameters[13].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_CustomerInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_CustomerInfo(");
            strSql.Append("KeepPerson,Telephone,Mobile,FAX,QQ,Email,CompanyName,CompanyAddress,CompanyMailNum,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@KeepPerson,@Telephone,@Mobile,@FAX,@QQ,@Email,@CompanyName,@CompanyAddress,@CompanyMailNum,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@KeepPerson", SqlDbType.VarChar,50),
                    new SqlParameter("@Telephone", SqlDbType.VarChar,200),
                    new SqlParameter("@Mobile", SqlDbType.VarChar,200),
                    new SqlParameter("@FAX", SqlDbType.VarChar,200),
                    new SqlParameter("@QQ", SqlDbType.VarChar,50),
                    new SqlParameter("@Email", SqlDbType.VarChar,50),
                    new SqlParameter("@CompanyName", SqlDbType.VarChar,500),
                    new SqlParameter("@CompanyAddress", SqlDbType.VarChar,500),
                    new SqlParameter("@CompanyMailNum", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.KeepPerson;
            parameters[1].Value = model.Telephone;
            parameters[2].Value = model.Mobile;
            parameters[3].Value = model.FAX;
            parameters[4].Value = model.QQ;
            parameters[5].Value = model.Email;
            parameters[6].Value = model.CompanyName;
            parameters[7].Value = model.CompanyAddress;
            parameters[8].Value = model.CompanyMailNum;
            parameters[9].Value = model.CreateBy;
            parameters[10].Value = model.CreateDate;
            parameters[11].Value = model.LastUpdateBy;
            parameters[12].Value = model.LastUpdateDate;
            parameters[13].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
        private static string getSectionString( WebProject project )
        {
            var sections = File.ReadAllText( EwlStatics.CombinePaths( ConfigurationStatics.FilesFolderPath, "Template.config" ) );

            sections = sections.Replace( "@@SessionTimeout", ( (int)FormsAuthStatics.SessionDuration.TotalMinutes ).ToString() );

            var useCertificateAuth = project.useCertificateAuthenticationSpecified && project.useCertificateAuthentication;
            sections = sections.Replace(
                "@@CertificateAuthenticationModulePlace",
                useCertificateAuth ? "<add name=\"CertificateAuthentication\" type=\"EnterpriseWebLibrary.CertificateAuthenticationModule, EnterpriseWebLibrary\"/>" : "" );

            const string cacheTimeoutTimeSpan = "10:00:00"; // 10 hours
            sections = sections.Replace( "@@CacheTimeout", cacheTimeoutTimeSpan );

            return sections;
        }
        private static string getSectionString(WebProject project)
        {
            var sections = File.ReadAllText(EwlStatics.CombinePaths(ConfigurationStatics.FilesFolderPath, "Template.config"));

            sections = sections.Replace("@@SessionTimeout", ((int)FormsAuthStatics.SessionDuration.TotalMinutes).ToString());

            var useCertificateAuth = project.useCertificateAuthenticationSpecified && project.useCertificateAuthentication;

            sections = sections.Replace(
                "@@CertificateAuthenticationModulePlace",
                useCertificateAuth ? "<add name=\"CertificateAuthentication\" type=\"EnterpriseWebLibrary.CertificateAuthenticationModule, EnterpriseWebLibrary\"/>" : "");

            const string cacheTimeoutTimeSpan = "10:00:00";             // 10 hours

            sections = sections.Replace("@@CacheTimeout", cacheTimeoutTimeSpan);

            return(sections);
        }
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.SysManage.ZT_SYS_ElementInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_SYS_ElementInfo(");
            strSql.Append("ElementCode,ElementName,ElementDesc,ParentCode,ElementLink,ElementPicLink,ElementShow,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@ElementCode,@ElementName,@ElementDesc,@ParentCode,@ElementLink,@ElementPicLink,@ElementShow,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@ElementCode", SqlDbType.VarChar,50),
                    new SqlParameter("@ElementName", SqlDbType.VarChar,50),
                    new SqlParameter("@ElementDesc", SqlDbType.VarChar,7000),
                    new SqlParameter("@ParentCode", SqlDbType.VarChar,50),
                    new SqlParameter("@ElementLink", SqlDbType.VarChar,500),
                    new SqlParameter("@ElementPicLink", SqlDbType.VarChar,500),
                    new SqlParameter("@ElementShow", SqlDbType.VarChar,2),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.VarChar,7000)};
            parameters[0].Value = model.ElementCode;
            parameters[1].Value = model.ElementName;
            parameters[2].Value = model.ElementDesc;
            parameters[3].Value = model.ParentCode;
            parameters[4].Value = model.ElementLink;
            parameters[5].Value = model.ElementPicLink;
            parameters[6].Value = model.ElementShow;
            parameters[7].Value = model.CreateBy;
            parameters[8].Value = model.CreateDate;
            parameters[9].Value = model.LastUpdateBy;
            parameters[10].Value = model.LastUpdateDate;
            parameters[11].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
Esempio n. 27
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.BaseData.ZT_COM_RongYu model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_COM_RongYu(");
            strSql.Append("Title,ImgUrl,Body,RongYuTypeName,RongYuTypeNo,RongYuOrder,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@Title,@ImgUrl,@Body,@RongYuTypeName,@RongYuTypeNo,@RongYuOrder,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@Title", SqlDbType.Text),
                    new SqlParameter("@ImgUrl", SqlDbType.Text),
                    new SqlParameter("@Body", SqlDbType.Text),
                    new SqlParameter("@RongYuTypeName", SqlDbType.VarChar,500),
                    new SqlParameter("@RongYuTypeNo", SqlDbType.VarChar,50),
                    new SqlParameter("@RongYuOrder", SqlDbType.Int,4),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.Title;
            parameters[1].Value = model.ImgUrl;
            parameters[2].Value = model.Body;
            parameters[3].Value = model.RongYuTypeName;
            parameters[4].Value = model.RongYuTypeNo;
            parameters[5].Value = model.RongYuOrder;
            parameters[6].Value = model.CreateBy;
            parameters[7].Value = model.CreateDate;
            parameters[8].Value = model.LastUpdateBy;
            parameters[9].Value = model.LastUpdateDate;
            parameters[10].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
Esempio n. 28
0
    public string GetElementGun(WebProject.Model.SysManage.ZT_SYS_RoleInfo model_RoleInfo)
    {
        string Gun = "";
        WebProject.BLL.SysManage.ZT_SYS_ElementInfo bll_ElementInfo = new WebProject.BLL.SysManage.ZT_SYS_ElementInfo();
        string[] ElementsList = model_RoleInfo.RoleElements.Split(',');
        string Elements = "";
        for (int i = 0; i < ElementsList.Length; i++)
        {
            Elements = Elements + "'" + ElementsList[i] + "',";
        }
        Elements = Elements.Substring(0, Elements.Length - 1);
        DataSet dsGun = bll_ElementInfo.GetList(" (ParentCode <> '0E00' and ParentCode <> '0I00') and ElementShow=0 and ElementCode in (" + Elements + ")");

        for (int i = 0; i < dsGun.Tables[0].Rows.Count; i++)
        {
            Gun = Gun + "|" + dsGun.Tables[0].Rows[i]["ElementName"];
        }

        return Gun;
    }
Esempio n. 29
0
        public CResult <WebProject> GetProjectInfoByID(string projectID)
        {
            LogHelper.Info(MethodBase.GetCurrentMethod().ToString());
            LogHelper.Info("projectID", projectID);

            using (var context = new DeviceMgmtEntities())
            {
                var project = context.Project.FirstOrDefault(t => t.ID == projectID);
                if (project == null)
                {
                    return(new CResult <WebProject>(null, ErrorCode.DataNoExist));
                }

                var webProject = new WebProject()
                {
                    CreateDate = project.CreateDate,
                    ID         = project.ID,
                    Note       = project.Note,
                    Name       = project.Name,
                };

                var user    = context.User.FirstOrDefault(t => t.Role == (int)RoleType.项目管理员 && t.ProjectID == webProject.ID);
                var webUser = new WebUser
                {
                    ID            = user.UserID,
                    Address       = user.Address,
                    Email         = user.Email,
                    LoginName     = user.LoginName,
                    TelPhone      = user.Telephone,
                    Moblie        = user.Moblie,
                    UserName      = user.Name,
                    OrderClientID = user.OrderClientID
                };

                webProject.WebUser = webUser;

                LogHelper.Info("result", webProject);

                return(new CResult <WebProject>(webProject));
            }
        }
        internal WebApplication(
            string name, string installationPath, bool supportsSecureConnections, string systemShortName, bool systemHasMultipleWebApplications, WebProject configuration)
        {
            Name = name;
            Path = EwlStatics.CombinePaths( installationPath, name );
            SupportsSecureConnections = supportsSecureConnections;

            var iisExpress = File.ReadAllText( EwlStatics.CombinePaths( Path, name + ".csproj" ) ).Contains( "<UseIISExpress>true</UseIISExpress>" );

            // We must pass values for all components since we will not have defaults to fall back on when getting the URL string for this object.
            DefaultBaseUrl = new BaseUrl(
                "localhost",
                iisExpress ? 8080 : 80,
                iisExpress ? 44300 : 443,
                systemShortName + ( systemHasMultipleWebApplications ? name.EnglishToPascal() : "" ) );

            var cookieAttributes = configuration.DefaultCookieAttributes;
            DefaultCookieAttributes = cookieAttributes != null
                                          ? new DefaultCookieAttributes( null, cookieAttributes.Path, cookieAttributes.NamePrefix )
                                          : new DefaultCookieAttributes( null, null, null );
        }
Esempio n. 31
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.SysManage.ZT_SYS_LogInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_SYS_LogInfo(");
            strSql.Append("LogType,OperatorType,FuncName,OperatorInfo,LoginIP,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Remark)");
            strSql.Append(" values (");
            strSql.Append("@LogType,@OperatorType,@FuncName,@OperatorInfo,@LoginIP,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@LogType", SqlDbType.VarChar,50),
                    new SqlParameter("@OperatorType", SqlDbType.VarChar,50),
                    new SqlParameter("@FuncName", SqlDbType.VarChar,50),
                    new SqlParameter("@OperatorInfo", SqlDbType.Text),
                    new SqlParameter("@LoginIP", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.LogType;
            parameters[1].Value = model.OperatorType;
            parameters[2].Value = model.FuncName;
            parameters[3].Value = model.OperatorInfo;
            parameters[4].Value = model.LoginIP;
            parameters[5].Value = model.CreateBy;
            parameters[6].Value = model.CreateDate;
            parameters[7].Value = model.LastUpdateBy;
            parameters[8].Value = model.LastUpdateDate;
            parameters[9].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
Esempio n. 32
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public int Add(WebProject.Model.SysManage.ZT_SYS_RoleInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("insert into ZT_SYS_RoleInfo(");
            strSql.Append("RoleNo,RoleName,RoleDesc,RoleElements,CreateBy,CreateDate,LastUpdateBy,LastUpdateDate,Status,Remark)");
            strSql.Append(" values (");
            strSql.Append("@RoleNo,@RoleName,@RoleDesc,@RoleElements,@CreateBy,@CreateDate,@LastUpdateBy,@LastUpdateDate,@Status,@Remark)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters = {
                    new SqlParameter("@RoleNo", SqlDbType.VarChar,50),
                    new SqlParameter("@RoleName", SqlDbType.VarChar,50),
                    new SqlParameter("@RoleDesc", SqlDbType.VarChar,500),
                    new SqlParameter("@RoleElements", SqlDbType.VarChar,7000),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Status", SqlDbType.VarChar,2),
                    new SqlParameter("@Remark", SqlDbType.VarChar,7000)};
            parameters[0].Value = model.RoleNo;
            parameters[1].Value = model.RoleName;
            parameters[2].Value = model.RoleDesc;
            parameters[3].Value = model.RoleElements;
            parameters[4].Value = model.CreateBy;
            parameters[5].Value = model.CreateDate;
            parameters[6].Value = model.LastUpdateBy;
            parameters[7].Value = model.LastUpdateDate;
            parameters[8].Value = model.Status;
            parameters[9].Value = model.Remark;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);
            if (obj == null)
            {
                return 1;
            }
            else
            {
                return Convert.ToInt32(obj);
            }
        }
Esempio n. 33
0
        public CResult <bool> UpdateProjectInfo(WebProject webProject)
        {
            LogHelper.Info(MethodBase.GetCurrentMethod().ToString());
            LogHelper.Info("webProject", webProject);

            using (var context = new DeviceMgmtEntities())
            {
                var project = context.Project.FirstOrDefault(t => t.ID == webProject.ID);
                if (project == null)
                {
                    return(new CResult <bool>(false, ErrorCode.DataNoExist));
                }

                if (context.Project.Any(t => t.CreateUserID == project.CreateUserID && t.Name.ToUpper() == webProject.Name.ToUpper() && t.IsValid && t.ID != webProject.ID))
                {
                    return(new CResult <bool>(false, ErrorCode.ProjectNameIsExist));
                }

                project.Name = webProject.Name;
                project.Note = webProject.Note;

                var user = context.User.FirstOrDefault(t => t.Role == (int)RoleType.项目管理员 && t.ProjectID == webProject.ID);
                if (user == null)
                {
                    return(new CResult <bool>(false, ErrorCode.DataNoExist));
                }

                var webUser = webProject.WebUser;
                user.Address   = webUser.Address;
                user.Email     = webUser.Email;
                user.Name      = webUser.UserName;
                user.Telephone = webUser.TelPhone;
                user.Moblie    = webUser.Moblie;

                context.Entry(project).State = EntityState.Modified;
                return(context.Save());
            }
        }
        internal WebApplication(
            string name, string installationPath, bool supportsSecureConnections, string systemShortName, bool systemHasMultipleWebApplications,
            WebProject configuration)
        {
            Name = name;
            Path = EwlStatics.CombinePaths(installationPath, name);
            SupportsSecureConnections = supportsSecureConnections;

            var iisExpress = File.ReadAllText(EwlStatics.CombinePaths(Path, name + ".csproj")).Contains("<UseIISExpress>true</UseIISExpress>");

            // We must pass values for all components since we will not have defaults to fall back on when getting the URL string for this object.
            DefaultBaseUrl = new BaseUrl(
                "localhost",
                iisExpress ? 8080 : 80,
                iisExpress ? 44300 : 443,
                systemShortName + (systemHasMultipleWebApplications ? name.EnglishToPascal() : ""));

            var cookieAttributes = configuration.DefaultCookieAttributes;

            DefaultCookieAttributes = cookieAttributes != null
                                                          ? new DefaultCookieAttributes(null, cookieAttributes.Path, cookieAttributes.NamePrefix)
                                                          : new DefaultCookieAttributes(null, null, null);
        }
        internal WebItemGeneralData( string webProjectPath, string pathRelativeToProject, bool includeFileExtensionInClassName, WebProject webProjectConfiguration )
        {
            this.pathRelativeToProject = pathRelativeToProject;

            // Get the URL for this item. "Plain old class" entity setups do not have URLs.
            urlRelativeToProject = pathRelativeToProject.EndsWith( ".cs" ) ? "" : pathRelativeToProject.Replace( System.IO.Path.DirectorySeparatorChar, '/' );

            // Load this item's code if it exists.
            path = EwlStatics.CombinePaths( webProjectPath, pathRelativeToProject );
            var codePath = path.EndsWith( ".cs" ) ? path : path + ".cs";
            code = File.Exists( codePath ) ? File.ReadAllText( codePath ) : "";

            // Attempt to get the namespace from the code. If this fails, use a namespace based on the item's path in the project.
            foreach( Match match in Regex.Matches( code, @"namespace\s(?<namespace>.*)\s{" ) )
                itemNamespace = match.Groups[ "namespace" ].Value;
            if( itemNamespace == null )
                itemNamespace = getNamespaceFromFilePath( webProjectConfiguration.NamespaceAndAssemblyName, pathRelativeToProject );

            className =
                EwlStatics.GetCSharpIdentifier(
                    System.IO.Path.GetFileNameWithoutExtension( path ) + ( includeFileExtensionInClassName ? System.IO.Path.GetExtension( path ).CapitalizeString() : "" ) );
            this.webProjectConfiguration = webProjectConfiguration;
        }
Esempio n. 36
0
 /// <summary>
 /// 停止项目的工作
 /// </summary>
 /// <param name="project"></param>
 public void StopCoding(WebProject project)
 {
     Console.WriteLine("{0} 停止 [{1}] 项目", DeveloperName, project.ProjectName);
 }
Esempio n. 37
0
    public string GetElementSystem(WebProject.Model.SysManage.ZT_SYS_RoleInfo model_RoleInfo)
    {
        string System = "";
        WebProject.BLL.SysManage.ZT_SYS_ElementInfo bll_ElementInfo = new WebProject.BLL.SysManage.ZT_SYS_ElementInfo();
        string[] ElementsList = model_RoleInfo.RoleElements.Split(',');
        string Elements = "";
        for (int i = 0; i < ElementsList.Length; i++)
        {
            Elements = Elements + "'" + ElementsList[i] + "',";
        }
        Elements = Elements.Substring(0, Elements.Length - 1);

        DataSet dsSystem = bll_ElementInfo.GetList(" (ElementShow=1 or ElementShow=2) and ElementCode in (" + Elements + ")");

        for (int i = 0; i < dsSystem.Tables[0].Rows.Count; i++)
        {
            System = System + "|" + dsSystem.Tables[0].Rows[i]["ElementName"];
        }

        return System;
    }
 private string customizeNamespace( string text, WebProject webProject )
 {
     return text.Replace( "EnterpriseWebLibrary.WebSite", webProject.NamespaceAndAssemblyName );
 }
        private void generateWebConfigAndCodeForWebProject( DevelopmentInstallation installation, WebProject project )
        {
            var application = installation.ExistingInstallationLogic.RuntimeConfiguration.WebApplications.Single( i => i.Name == project.name );

            // This must be done before web meta logic generation, which can be affected by the contents of Web.config files.
            WebConfigStatics.GenerateWebConfig( application, project );

            var webProjectGeneratedCodeFolderPath = EwlStatics.CombinePaths( application.Path, "Generated Code" );
            Directory.CreateDirectory( webProjectGeneratedCodeFolderPath );
            var webProjectIsuFilePath = EwlStatics.CombinePaths( webProjectGeneratedCodeFolderPath, "ISU.cs" );
            IoMethods.DeleteFile( webProjectIsuFilePath );
            using( TextWriter writer = new StreamWriter( webProjectIsuFilePath ) ) {
                writer.WriteLine( "using System;" );
                writer.WriteLine( "using System.Collections.Generic;" );
                writer.WriteLine( "using System.Collections.ObjectModel;" );
                writer.WriteLine( "using System.Globalization;" );
                writer.WriteLine( "using System.Linq;" );
                writer.WriteLine( "using System.Reflection;" );
                writer.WriteLine( "using System.Runtime.InteropServices;" );
                writer.WriteLine( "using System.Web;" );
                writer.WriteLine( "using System.Web.UI;" );
                writer.WriteLine( "using System.Web.UI.WebControls;" );
                writer.WriteLine( "using EnterpriseWebLibrary;" );
                writer.WriteLine( "using EnterpriseWebLibrary.DataAccess;" );
                writer.WriteLine( "using EnterpriseWebLibrary.EnterpriseWebFramework;" );
                writer.WriteLine( "using EnterpriseWebLibrary.EnterpriseWebFramework.Controls;" );
                writer.WriteLine( "using EnterpriseWebLibrary.InputValidation;" );
                writer.WriteLine();
                writeAssemblyInfo( writer, installation, project.name );
                writer.WriteLine();
                CodeGeneration.WebMetaLogic.WebMetaLogicStatics.Generate( writer, application.Path, project );
            }
        }
Esempio n. 40
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public void Update(WebProject.Model.SysManage.ZT_SYS_RoleInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("update ZT_SYS_RoleInfo set ");
            strSql.Append("RoleNo=@RoleNo,");
            strSql.Append("RoleName=@RoleName,");
            strSql.Append("RoleDesc=@RoleDesc,");
            strSql.Append("RoleElements=@RoleElements,");
            strSql.Append("CreateBy=@CreateBy,");
            strSql.Append("CreateDate=@CreateDate,");
            strSql.Append("LastUpdateBy=@LastUpdateBy,");
            strSql.Append("LastUpdateDate=@LastUpdateDate,");
            strSql.Append("Status=@Status,");
            strSql.Append("Remark=@Remark");
            strSql.Append(" where RoleID=@RoleID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@RoleID", SqlDbType.Int,4),
                    new SqlParameter("@RoleNo", SqlDbType.VarChar,50),
                    new SqlParameter("@RoleName", SqlDbType.VarChar,50),
                    new SqlParameter("@RoleDesc", SqlDbType.VarChar,500),
                    new SqlParameter("@RoleElements", SqlDbType.VarChar,7000),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Status", SqlDbType.VarChar,2),
                    new SqlParameter("@Remark", SqlDbType.VarChar,7000)};
            parameters[0].Value = model.RoleID;
            parameters[1].Value = model.RoleNo;
            parameters[2].Value = model.RoleName;
            parameters[3].Value = model.RoleDesc;
            parameters[4].Value = model.RoleElements;
            parameters[5].Value = model.CreateBy;
            parameters[6].Value = model.CreateDate;
            parameters[7].Value = model.LastUpdateBy;
            parameters[8].Value = model.LastUpdateDate;
            parameters[9].Value = model.Status;
            parameters[10].Value = model.Remark;

            DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
        }
        private void copyInWebProjectFiles( Installation installation, WebProject webProject )
        {
            var webProjectFilesFolderPath = EwlStatics.CombinePaths( ConfigurationStatics.InstallationPath, AppStatics.WebProjectFilesFolderName );
            var webProjectPath = EwlStatics.CombinePaths( installation.GeneralLogic.Path, webProject.name );

            // Copy Ewf folder and customize namespaces in .aspx, .ascx, .master, and .cs files.
            var webProjectEwfFolderPath = EwlStatics.CombinePaths( webProjectPath, StaticFileHandler.EwfFolderName );
            IoMethods.DeleteFolder( webProjectEwfFolderPath );
            IoMethods.CopyFolder( EwlStatics.CombinePaths( webProjectFilesFolderPath, StaticFileHandler.EwfFolderName ), webProjectEwfFolderPath, false );
            IoMethods.RecursivelyRemoveReadOnlyAttributeFromItem( webProjectEwfFolderPath );
            var matchingFiles = new List<string>();
            matchingFiles.AddRange( Directory.GetFiles( webProjectEwfFolderPath, "*.aspx", SearchOption.AllDirectories ) );
            matchingFiles.AddRange( Directory.GetFiles( webProjectEwfFolderPath, "*.ascx", SearchOption.AllDirectories ) );
            matchingFiles.AddRange( Directory.GetFiles( webProjectEwfFolderPath, "*.master", SearchOption.AllDirectories ) );
            matchingFiles.AddRange( Directory.GetFiles( webProjectEwfFolderPath, "*.cs", SearchOption.AllDirectories ) );
            foreach( var filePath in matchingFiles )
                File.WriteAllText( filePath, customizeNamespace( File.ReadAllText( filePath ), webProject ) );

            IoMethods.CopyFile(
                EwlStatics.CombinePaths( webProjectFilesFolderPath, AppStatics.StandardLibraryFilesFileName ),
                EwlStatics.CombinePaths( webProjectPath, AppStatics.StandardLibraryFilesFileName ) );
            IoMethods.RecursivelyRemoveReadOnlyAttributeFromItem( EwlStatics.CombinePaths( webProjectPath, AppStatics.StandardLibraryFilesFileName ) );

            // Add the Import element to the project file if it's not already present.
            var projectDocument = new XmlDocument { PreserveWhitespace = true };
            var projectDocumentPath = EwlStatics.CombinePaths( webProjectPath, "{0}.csproj".FormatWith( webProject.name ) );
            projectDocument.Load( projectDocumentPath );
            var projectElement = projectDocument[ "Project" ];
            const string webProjectFilesFileName = "Standard Library Files.xml";
            var namespaceManager = new XmlNamespaceManager( projectDocument.NameTable );
            const string ns = "http://schemas.microsoft.com/developer/msbuild/2003";
            namespaceManager.AddNamespace( "p", ns );
            if( projectElement.SelectSingleNode( "p:Import[ @Project = \"{0}\" ]".FormatWith( webProjectFilesFileName ), namespaceManager ) == null ) {
                var importElement = projectDocument.CreateElement( "Import", ns );
                importElement.SetAttribute( "Project", webProjectFilesFileName );
                projectElement.AppendChild( importElement );
                projectDocument.Save( projectDocumentPath );
            }
        }
Esempio n. 42
0
 internal static void Generate(TextWriter writer, string webProjectPath, WebProject configuration)
 {
     generateCodeForWebItemsInFolder(writer, webProjectPath, "", configuration);
 }
Esempio n. 43
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public void Update(WebProject.Model.BaseData.ZT_COM_RenCai model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("update ZT_COM_RenCai set ");
            strSql.Append("Position=@Position,");
            strSql.Append("Name=@Name,");
            strSql.Append("Sex=@Sex,");
            strSql.Append("Birthday=@Birthday,");
            strSql.Append("Address=@Address,");
            strSql.Append("Telephone=@Telephone,");
            strSql.Append("Mobile=@Mobile,");
            strSql.Append("Email=@Email,");
            strSql.Append("School=@School,");
            strSql.Append("Resume=@Resume,");
            strSql.Append("CreateBy=@CreateBy,");
            strSql.Append("CreateDate=@CreateDate,");
            strSql.Append("LastUpdateBy=@LastUpdateBy,");
            strSql.Append("LastUpdateDate=@LastUpdateDate,");
            strSql.Append("Remark=@Remark");
            strSql.Append(" where RenCaiID=@RenCaiID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@RenCaiID", SqlDbType.Int,4),
                    new SqlParameter("@Position", SqlDbType.VarChar,500),
                    new SqlParameter("@Name", SqlDbType.VarChar,50),
                    new SqlParameter("@Sex", SqlDbType.VarChar,2),
                    new SqlParameter("@Birthday", SqlDbType.DateTime),
                    new SqlParameter("@Address", SqlDbType.Text),
                    new SqlParameter("@Telephone", SqlDbType.VarChar,50),
                    new SqlParameter("@Mobile", SqlDbType.VarChar,50),
                    new SqlParameter("@Email", SqlDbType.VarChar,50),
                    new SqlParameter("@School", SqlDbType.VarChar,500),
                    new SqlParameter("@Resume", SqlDbType.Text),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.RenCaiID;
            parameters[1].Value = model.Position;
            parameters[2].Value = model.Name;
            parameters[3].Value = model.Sex;
            parameters[4].Value = model.Birthday;
            parameters[5].Value = model.Address;
            parameters[6].Value = model.Telephone;
            parameters[7].Value = model.Mobile;
            parameters[8].Value = model.Email;
            parameters[9].Value = model.School;
            parameters[10].Value = model.Resume;
            parameters[11].Value = model.CreateBy;
            parameters[12].Value = model.CreateDate;
            parameters[13].Value = model.LastUpdateBy;
            parameters[14].Value = model.LastUpdateDate;
            parameters[15].Value = model.Remark;

            DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
        }
Esempio n. 44
0
        private static void generateCodeForWebItemsInFolder(
            TextWriter writer, string webProjectPath, string folderPathRelativeToProject, WebProject webProjectConfiguration)
        {
            var folderPath = EwlStatics.CombinePaths(webProjectPath, folderPathRelativeToProject);

            // Generate code for the entity setup if one exists in this folder.
            var entitySetupFileName = "";

            foreach (var fileName in new[] { "EntitySetup.ascx", "EntitySetup.cs" })
            {
                if (File.Exists(EwlStatics.CombinePaths(folderPath, fileName)))
                {
                    entitySetupFileName = fileName;
                    break;
                }
            }
            EntitySetup entitySetup = null;

            if (entitySetupFileName.Length > 0)
            {
                var filePathRelativeToProject = Path.Combine(folderPathRelativeToProject, entitySetupFileName);
                entitySetup = new EntitySetup(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, false, webProjectConfiguration));
                entitySetup.GenerateCode(writer);
            }

            // Generate code for files in the current folder.
            foreach (var fileName in IoMethods.GetFileNamesInFolder(folderPath))
            {
                if (!folderPathRelativeToProject.Any() && (fileName.Contains(".csproj") || fileName == AppStatics.StandardLibraryFilesFileName))
                {
                    continue;
                }
                var fileExtension = Path.GetExtension(fileName).ToLowerInvariant();
                if (new[] { ".cs", ".asax", ".master", ".config", ".svc" }.Contains(fileExtension))
                {
                    continue;
                }

                var filePathRelativeToProject = Path.Combine(folderPathRelativeToProject, fileName);
                if (fileExtension == ".aspx")
                {
                    new Page(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, false, webProjectConfiguration), entitySetup).GenerateCode(writer);
                }
                else if (fileExtension == ".ascx")
                {
                    if (fileName != entitySetupFileName)
                    {
                        new UserControl(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, false, webProjectConfiguration)).GenerateCode(writer);
                    }
                }
                else
                {
                    new StaticFile(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, true, webProjectConfiguration)).GenerateCode(writer);
                }
            }

            // Delve into sub folders.
            foreach (var subFolderName in IoMethods.GetFolderNamesInFolder(folderPath))
            {
                var subFolderPath = Path.Combine(folderPathRelativeToProject, subFolderName);
                if (subFolderPath == "bin" || subFolderPath == "obj")
                {
                    continue;
                }
                generateCodeForWebItemsInFolder(writer, webProjectPath, subFolderPath, webProjectConfiguration);
            }
        }
 internal static void Generate( TextWriter writer, string webProjectPath, WebProject configuration )
 {
     generateCodeForWebItemsInFolder( writer, webProjectPath, "", configuration );
 }
Esempio n. 46
0
        private void generateWebConfigAndCodeForWebProject(DevelopmentInstallation installation, WebProject project)
        {
            var application = installation.ExistingInstallationLogic.RuntimeConfiguration.WebApplications.Single(i => i.Name == project.name);

            // This must be done before web meta logic generation, which can be affected by the contents of Web.config files.
            WebConfigStatics.GenerateWebConfig(application, project);

            var webProjectGeneratedCodeFolderPath = EwlStatics.CombinePaths(application.Path, "Generated Code");

            Directory.CreateDirectory(webProjectGeneratedCodeFolderPath);
            var webProjectIsuFilePath = EwlStatics.CombinePaths(webProjectGeneratedCodeFolderPath, "ISU.cs");

            IoMethods.DeleteFile(webProjectIsuFilePath);
            using (TextWriter writer = new StreamWriter(webProjectIsuFilePath)) {
                writer.WriteLine("using System;");
                writer.WriteLine("using System.Collections.Generic;");
                writer.WriteLine("using System.Collections.ObjectModel;");
                writer.WriteLine("using System.Globalization;");
                writer.WriteLine("using System.Linq;");
                writer.WriteLine("using System.Reflection;");
                writer.WriteLine("using System.Runtime.InteropServices;");
                writer.WriteLine("using System.Web;");
                writer.WriteLine("using System.Web.UI;");
                writer.WriteLine("using System.Web.UI.WebControls;");
                writer.WriteLine("using EnterpriseWebLibrary;");
                writer.WriteLine("using EnterpriseWebLibrary.DataAccess;");
                writer.WriteLine("using EnterpriseWebLibrary.EnterpriseWebFramework;");
                writer.WriteLine("using EnterpriseWebLibrary.EnterpriseWebFramework.Controls;");
                writer.WriteLine("using EnterpriseWebLibrary.InputValidation;");
                writer.WriteLine();
                writeAssemblyInfo(writer, installation, project.name);
                writer.WriteLine();
                CodeGeneration.WebMetaLogic.WebMetaLogicStatics.Generate(writer, application.Path, project);
            }
        }
Esempio n. 47
0
 private string customizeNamespace(string text, WebProject webProject)
 {
     return(text.Replace("EnterpriseWebLibrary.WebSite", webProject.NamespaceAndAssemblyName));
 }
Esempio n. 48
0
 void CreateWebProject(MSBuildBasedProject msbuildProject)
 {
     webProject = new WebProject(msbuildProject);
 }
Esempio n. 49
0
 /// <summary>
 /// ����һ������
 /// </summary>
 public void Update(WebProject.Model.BaseData.ZT_COM_LiuYan model)
 {
     dal.Update(model);
 }
        private static void generateCodeForWebItemsInFolder(
            TextWriter writer, string webProjectPath, string folderPathRelativeToProject, WebProject webProjectConfiguration)
        {
            var folderPath = EwlStatics.CombinePaths( webProjectPath, folderPathRelativeToProject );

            // Generate code for the entity setup if one exists in this folder.
            var entitySetupFileName = "";
            foreach( var fileName in new[] { "EntitySetup.ascx", "EntitySetup.cs" } ) {
                if( File.Exists( EwlStatics.CombinePaths( folderPath, fileName ) ) ) {
                    entitySetupFileName = fileName;
                    break;
                }
            }
            EntitySetup entitySetup = null;
            if( entitySetupFileName.Length > 0 ) {
                var filePathRelativeToProject = Path.Combine( folderPathRelativeToProject, entitySetupFileName );
                entitySetup = new EntitySetup( new WebItemGeneralData( webProjectPath, filePathRelativeToProject, false, webProjectConfiguration ) );
                entitySetup.GenerateCode( writer );
            }

            // Generate code for files in the current folder.
            foreach( var fileName in IoMethods.GetFileNamesInFolder( folderPath ) ) {
                if( !folderPathRelativeToProject.Any() && ( fileName.Contains( ".csproj" ) || fileName == AppStatics.StandardLibraryFilesFileName ) )
                    continue;
                var fileExtension = Path.GetExtension( fileName ).ToLowerInvariant();
                if( new[] { ".cs", ".asax", ".master", ".config", ".svc" }.Contains( fileExtension ) )
                    continue;

                var filePathRelativeToProject = Path.Combine( folderPathRelativeToProject, fileName );
                if( fileExtension == ".aspx" )
                    new Page( new WebItemGeneralData( webProjectPath, filePathRelativeToProject, false, webProjectConfiguration ), entitySetup ).GenerateCode( writer );
                else if( fileExtension == ".ascx" ) {
                    if( fileName != entitySetupFileName )
                        new UserControl( new WebItemGeneralData( webProjectPath, filePathRelativeToProject, false, webProjectConfiguration ) ).GenerateCode( writer );
                }
                else
                    new StaticFile( new WebItemGeneralData( webProjectPath, filePathRelativeToProject, true, webProjectConfiguration ) ).GenerateCode( writer );
            }

            // Delve into sub folders.
            foreach( var subFolderName in IoMethods.GetFolderNamesInFolder( folderPath ) ) {
                var subFolderPath = Path.Combine( folderPathRelativeToProject, subFolderName );
                if( subFolderPath == "bin" || subFolderPath == "obj" )
                    continue;
                generateCodeForWebItemsInFolder( writer, webProjectPath, subFolderPath, webProjectConfiguration );
            }
        }
Esempio n. 51
0
 /// <summary>
 /// ����һ������
 /// </summary>
 public int Add(WebProject.Model.BaseData.ZT_COM_LiuYan model)
 {
     return dal.Add(model);
 }
        private void generateWebConfigAndCodeForWebProject(DevelopmentInstallation installation, WebProject project)
        {
            var application = installation.ExistingInstallationLogic.RuntimeConfiguration.WebApplications.Single(i => i.Name == project.name);

            // This must be done before web meta logic generation, which can be affected by the contents of Web.config files.
            WebConfigStatics.GenerateWebConfig(application, project);

            Directory.CreateDirectory(EwlStatics.CombinePaths(application.Path, StaticFile.AppStaticFilesFolderName));

            var webProjectGeneratedCodeFolderPath = EwlStatics.CombinePaths(application.Path, generatedCodeFolderName);

            Directory.CreateDirectory(webProjectGeneratedCodeFolderPath);
            var webProjectIsuFilePath = EwlStatics.CombinePaths(webProjectGeneratedCodeFolderPath, "ISU.cs");

            IoMethods.DeleteFile(webProjectIsuFilePath);
            using (TextWriter writer = new StreamWriter(webProjectIsuFilePath)) {
                writer.WriteLine("using System;");
                writer.WriteLine("using System.Collections.Generic;");
                writer.WriteLine("using System.Collections.ObjectModel;");
                writer.WriteLine("using System.Globalization;");
                writer.WriteLine("using System.Linq;");
                writer.WriteLine("using System.Reflection;");
                writer.WriteLine("using System.Runtime.InteropServices;");
                writer.WriteLine("using System.Threading;");
                writer.WriteLine("using EnterpriseWebLibrary;");
                writer.WriteLine("using EnterpriseWebLibrary.DataAccess;");
                writer.WriteLine("using EnterpriseWebLibrary.EnterpriseWebFramework;");
                writer.WriteLine("using NodaTime;");
                writer.WriteLine("using Tewl.InputValidation;");
                writer.WriteLine("using Tewl.Tools;");
                writer.WriteLine();
                writeAssemblyInfo(writer, installation, project.name);
                writer.WriteLine();
                writer.WriteLine("namespace {0}.Providers {{".FormatWith(project.NamespaceAndAssemblyName));
                writer.WriteLine("internal partial class RequestDispatching: AppRequestDispatchingProvider {");
                writer.WriteLine(
                    "protected override UrlPattern GetStaticFilesFolderUrlPattern( string urlSegment ) => StaticFiles.FolderSetup.UrlPatterns.Literal( urlSegment );");
                writer.WriteLine("}");
                writer.WriteLine("}");
                writer.WriteLine();
                CodeGeneration.WebFramework.WebFrameworkStatics.Generate(
                    writer,
                    application.Path,
                    project.NamespaceAndAssemblyName,
                    false,
                    generatedCodeFolderName.ToCollection(),
                    StaticFile.AppStaticFilesFolderName,
                    "RequestDispatchingStatics.AppProvider.GetFrameworkUrlParent()");
            }
        }
Esempio n. 53
0
 /// <summary>
 /// 运维项目
 /// </summary>
 /// <param name="project">项目</param>
 public void UpdateRoutine(WebProject project)
 {
     Console.WriteLine("{0} 维护 [{1}] 项目", DeveloperName, project.ProjectName);
 }
Esempio n. 54
0
        static void Main(string[] args)
        {
            // 表示一个具体的项目名字叫:项目A
            WebProject wpA = new WebProject()
            {
                ProjectName = "项目A"
            };
            // 表示一个具体的项目名字叫:项目B
            WebProject wpB = new WebProject()
            {
                ProjectName = "项目B"
            };
            // 开发者
            Developer developer = new Developer()
            {
                DeveloperName = "张三"
            };

            // 开发者所需要接收的命令
            ICommand codeCmd = new CodingCommand()
            {
                project = wpA, dp = developer
            };
            ICommand UpdateCmd = new UpdateRoutineCommand()
            {
                project = wpB, dp = developer
            };

            //项目经理
            ProjectManager pm = new ProjectManager();

            //设置命令
            pm.SetCommand(codeCmd);
            pm.SetCommand(UpdateCmd);
            //发起命令让开发者去完成
            pm.ExcuteCommand();



            Console.WriteLine("========== 可取消 ==========");


            // 开发者
            DeveloperCancelAble developer2 = new DeveloperCancelAble()
            {
                DeveloperName = "李四"
            };

            //开发者所需要接收的命令
            ICommandCancelAble codeCmd2 = new CodingCommandCancelAble()
            {
                project = wpA, dp = developer2
            };
            ICommandCancelAble UpdateCmd2 = new UpdateRoutineCommandCancelAble()
            {
                project = wpB, dp = developer2
            };

            //项目经理
            ProjectManagerCancelAble pm2 = new ProjectManagerCancelAble();

            //设置命令
            pm2.SetCommand(codeCmd2);
            pm2.SetCommand(UpdateCmd2);
            //发起命令让开发者去完成
            pm2.ExcuteCommand();
            //撤销UpdateCmd命令
            pm2.CancelExectueCommand(UpdateCmd2);



            Console.ReadLine();
        }
Esempio n. 55
0
        private static void generateCodeForWebItemsInFolder(
            TextWriter writer, string webProjectPath, string folderPathRelativeToProject, WebProject webProjectConfiguration)
        {
            var folderPath = StandardLibraryMethods.CombinePaths(webProjectPath, folderPathRelativeToProject);

            // Generate code for the entity setup if one exists in this folder.
            var entitySetupFileName = "";

            foreach (var fileName in new[] { "EntitySetup.ascx", "EntitySetup.cs" })
            {
                if (File.Exists(StandardLibraryMethods.CombinePaths(folderPath, fileName)))
                {
                    entitySetupFileName = fileName;
                    break;
                }
            }
            EntitySetup entitySetup = null;

            if (entitySetupFileName.Length > 0)
            {
                var filePathRelativeToProject = Path.Combine(folderPathRelativeToProject, entitySetupFileName);
                entitySetup = new EntitySetup(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, webProjectConfiguration));
                entitySetup.GenerateCode(writer);
            }

            // Generate code for pages and user controls in the current folder.
            foreach (var fileName in IoMethods.GetFileNamesInFolder(folderPath, "*.aspx"))
            {
                var filePathRelativeToProject = Path.Combine(folderPathRelativeToProject, fileName);
                new Page(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, webProjectConfiguration), entitySetup).GenerateCode(writer);
            }
            foreach (var fileName in IoMethods.GetFileNamesInFolder(folderPath, "*.ascx"))
            {
                if (fileName != entitySetupFileName)
                {
                    var filePathRelativeToProject = Path.Combine(folderPathRelativeToProject, fileName);
                    new UserControl(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, webProjectConfiguration)).GenerateCode(writer);
                }
            }

            foreach (var fileName in IoMethods.GetFileNamesInFolder(folderPath, "*.css"))
            {
                var filePathRelativeToProject = Path.Combine(folderPathRelativeToProject, fileName);
                new CssFile(new WebItemGeneralData(webProjectPath, filePathRelativeToProject, webProjectConfiguration)).GenerateCode(writer);
            }

            // Delve into sub folders.
            foreach (var subFolderName in IoMethods.GetFolderNamesInFolder(folderPath))
            {
                generateCodeForWebItemsInFolder(writer, webProjectPath, Path.Combine(folderPathRelativeToProject, subFolderName), webProjectConfiguration);
            }
        }
        /// <summary>
        /// ����һ������
        /// </summary>
        public void Update(WebProject.Model.SysManage.ZT_SYS_ElementInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("update ZT_SYS_ElementInfo set ");
            strSql.Append("ElementCode=@ElementCode,");
            strSql.Append("ElementName=@ElementName,");
            strSql.Append("ElementDesc=@ElementDesc,");
            strSql.Append("ParentCode=@ParentCode,");
            strSql.Append("ElementLink=@ElementLink,");
            strSql.Append("ElementPicLink=@ElementPicLink,");
            strSql.Append("ElementShow=@ElementShow,");
            strSql.Append("CreateBy=@CreateBy,");
            strSql.Append("CreateDate=@CreateDate,");
            strSql.Append("LastUpdateBy=@LastUpdateBy,");
            strSql.Append("LastUpdateDate=@LastUpdateDate,");
            strSql.Append("Remark=@Remark");
            strSql.Append(" where ElementID=@ElementID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@ElementID", SqlDbType.Int,4),
                    new SqlParameter("@ElementCode", SqlDbType.VarChar,50),
                    new SqlParameter("@ElementName", SqlDbType.VarChar,50),
                    new SqlParameter("@ElementDesc", SqlDbType.VarChar,7000),
                    new SqlParameter("@ParentCode", SqlDbType.VarChar,50),
                    new SqlParameter("@ElementLink", SqlDbType.VarChar,500),
                    new SqlParameter("@ElementPicLink", SqlDbType.VarChar,500),
                    new SqlParameter("@ElementShow", SqlDbType.VarChar,2),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.VarChar,7000)};
            parameters[0].Value = model.ElementID;
            parameters[1].Value = model.ElementCode;
            parameters[2].Value = model.ElementName;
            parameters[3].Value = model.ElementDesc;
            parameters[4].Value = model.ParentCode;
            parameters[5].Value = model.ElementLink;
            parameters[6].Value = model.ElementPicLink;
            parameters[7].Value = model.ElementShow;
            parameters[8].Value = model.CreateBy;
            parameters[9].Value = model.CreateDate;
            parameters[10].Value = model.LastUpdateBy;
            parameters[11].Value = model.LastUpdateDate;
            parameters[12].Value = model.Remark;

            DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
        }
Esempio n. 57
0
        /// <summary>
        /// ����һ������
        /// </summary>
        public void Update(WebProject.Model.SysManage.ZT_SYS_LogInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("update ZT_SYS_LogInfo set ");
            strSql.Append("LogType=@LogType,");
            strSql.Append("OperatorType=@OperatorType,");
            strSql.Append("FuncName=@FuncName,");
            strSql.Append("OperatorInfo=@OperatorInfo,");
            strSql.Append("LoginIP=@LoginIP,");
            strSql.Append("CreateBy=@CreateBy,");
            strSql.Append("CreateDate=@CreateDate,");
            strSql.Append("LastUpdateBy=@LastUpdateBy,");
            strSql.Append("LastUpdateDate=@LastUpdateDate,");
            strSql.Append("Remark=@Remark");
            strSql.Append(" where LogID=@LogID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@LogID", SqlDbType.Int,4),
                    new SqlParameter("@LogType", SqlDbType.VarChar,50),
                    new SqlParameter("@OperatorType", SqlDbType.VarChar,50),
                    new SqlParameter("@FuncName", SqlDbType.VarChar,50),
                    new SqlParameter("@OperatorInfo", SqlDbType.Text),
                    new SqlParameter("@LoginIP", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.LogID;
            parameters[1].Value = model.LogType;
            parameters[2].Value = model.OperatorType;
            parameters[3].Value = model.FuncName;
            parameters[4].Value = model.OperatorInfo;
            parameters[5].Value = model.LoginIP;
            parameters[6].Value = model.CreateBy;
            parameters[7].Value = model.CreateDate;
            parameters[8].Value = model.LastUpdateBy;
            parameters[9].Value = model.LastUpdateDate;
            parameters[10].Value = model.Remark;

            DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
        }
Esempio n. 58
0
 public Page(string Name, WebProject CurrentProject, string HTMLPath, string CSSPath) : base(Name, CurrentProject, HTMLPath, CSSPath)
 {
     this.PageName = Name;
 }
        /// <summary>
        /// ����һ������
        /// </summary>
        public void Update(WebProject.Model.BaseData.ZT_COM_CompanyInfo model)
        {
            StringBuilder strSql=new StringBuilder();
            strSql.Append("update ZT_COM_CompanyInfo set ");
            strSql.Append("InfoOrder=@InfoOrder,");
            strSql.Append("Title=@Title,");
            strSql.Append("ImgUrl=@ImgUrl,");
            strSql.Append("Body=@Body,");
            strSql.Append("CreateBy=@CreateBy,");
            strSql.Append("CreateDate=@CreateDate,");
            strSql.Append("LastUpdateBy=@LastUpdateBy,");
            strSql.Append("LastUpdateDate=@LastUpdateDate,");
            strSql.Append("Remark=@Remark");
            strSql.Append(" where InfoID=@InfoID ");
            SqlParameter[] parameters = {
                    new SqlParameter("@InfoID", SqlDbType.Int,4),
                    new SqlParameter("@InfoOrder", SqlDbType.Int,4),
                    new SqlParameter("@Title", SqlDbType.Text),
                    new SqlParameter("@ImgUrl", SqlDbType.Text),
                    new SqlParameter("@Body", SqlDbType.Text),
                    new SqlParameter("@CreateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@CreateDate", SqlDbType.DateTime),
                    new SqlParameter("@LastUpdateBy", SqlDbType.VarChar,50),
                    new SqlParameter("@LastUpdateDate", SqlDbType.DateTime),
                    new SqlParameter("@Remark", SqlDbType.Text)};
            parameters[0].Value = model.InfoID;
            parameters[1].Value = model.InfoOrder;
            parameters[2].Value = model.Title;
            parameters[3].Value = model.ImgUrl;
            parameters[4].Value = model.Body;
            parameters[5].Value = model.CreateBy;
            parameters[6].Value = model.CreateDate;
            parameters[7].Value = model.LastUpdateBy;
            parameters[8].Value = model.LastUpdateDate;
            parameters[9].Value = model.Remark;

            DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
        }
        public void Init(string Email, string Password, List <InternalItem> internalItems, string url, bool isEnableTicket)
        {
            if (internalItems == null && internalItems.Count == 0)
            {
                return;
            }

            bool isActivityUse = internalItems.Exists(x => x.Activity != null);

            using (var driver = new ChromeDriver(Path.GetDirectoryName(this.ChromeDriverFolder), this.ChromeOptions))
            {
                SeleniumHelper selenium = new SeleniumHelper(driver);
                driver.Navigate().GoToUrl(url);
                driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(200);
                selenium.FindElement(By.XPath("//*[@data-original-title='Log in using your Google account']"), 50)
                .Click();
                selenium.GoogleLogin(Email, Password);

                Thread.Sleep(4000);

                IWebElement Element =
                    selenium.FindElement(By.XPath("//table[@class='table table-hover']"), 100);
                IWebElement         Table = Element.FindElement(By.TagName("tbody"));
                IJavaScriptExecutor js    = driver as IJavaScriptExecutor;

                List <WebProject> listProject = new List <WebProject>();

                foreach (var tr in Table.FindElements(By.TagName("tr")))
                {
                    js.ExecuteScript("arguments[0].style='background-color: red;'", tr);

                    WebProject newProject = new WebProject();

                    int elementCount = 0;
                    foreach (var td in tr.FindElements(By.TagName("td")))
                    {
                        if (elementCount == 1)
                        {
                            newProject.Project = td.Text;
                        }

                        if (elementCount == 2)
                        {
                            newProject.Task = td.Text;
                        }

                        if (elementCount == 7)
                        {
                            newProject.Button    = td.FindElements(By.TagName("button"))[1];
                            newProject.IdElement = td.FindElements(By.TagName("button"))[1].GetAttribute("data-id");
                        }

                        elementCount++;
                    }

                    listProject.Add(newProject);
                    js.ExecuteScript("arguments[0].style='background-color: gray;'", tr);
                }


                listProject = listProject.OrderBy(lp => lp.Project).ToList();

                List <InternalItem> histories = new List <InternalItem>();
                using (StreamReader sr = new StreamReader("TimeEntries.txt", false))
                {
                    string line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        string[] words = line.Split(';');
                        histories.Add(new InternalItem()
                        {
                            Project  = words[1],
                            Task     = words[2],
                            Activity = words[3],
                            Comment  = words[0]
                        });
                    }
                }

                InternalItem history = new InternalItem();

                foreach (InternalItem entry in internalItems)
                {
                    if (entry.Project == null && histories.Exists(h => h.Comment.Equals(entry.Comment)))
                    {
                        if (isActivityUse)
                        {
                            history = histories.FindLast(h => h.Comment.Equals(entry.Comment) && h.Activity == entry.Activity);
                        }
                        else
                        {
                            history = histories.FindLast(h => h.Comment.Equals(entry.Comment));
                        }


                        if (history != null && listProject.Any(x => x.Project.Equals(history.Project)))
                        {
                            entry.Project  = history.Project;
                            entry.Task     = history.Task;
                            entry.Activity = history.Activity;
                        }
                    }

                    if (entry.Project == null)
                    {
                        InternalItem aux = InternalHelper.GetPredictedProjectValue(entry);
                        entry.Project = aux.Project;
                        entry.Task    = aux.Task;
                    }

                    if (entry.Project == null)
                    {
                        var webProjectObject = GetProjectValue(listProject, entry);

                        //If select skip option
                        if (string.IsNullOrEmpty(webProjectObject.Project))
                        {
                            continue;
                        }

                        entry.Project = webProjectObject.Project;
                        entry.Task    = webProjectObject.Task;
                        Console.Clear();
                    }


                    if (entry.Activity == null || string.IsNullOrEmpty(entry.Activity))
                    {
                        entry.Activity = InternalHelper.GetPredictedActivityValue(entry.Comment);
                    }

                    if (entry.Activity == null || string.IsNullOrEmpty(entry.Activity))
                    {
                        entry.Activity = InternalHelper.GetActivityValue(entry);
                        Console.Clear();
                    }


                    if (!(histories.Exists(h => h.Comment.Equals(entry.Comment)) &&
                          histories.Exists(h => h.Activity.Equals(entry.Activity)) &&
                          histories.Exists(h => h.Project.Equals(entry.Project)) &&
                          histories.Exists(h => h.Task.Equals(entry.Task))))
                    {
                        using (StreamWriter outputFile = File.AppendText("TimeEntries.txt"))
                        {
                            outputFile.WriteLine($"{entry.Comment};{entry.Project};{entry.Task};{entry.Activity}");
                        }

                        histories.Add(new InternalItem()
                        {
                            Project  = entry.Project,
                            Task     = entry.Task,
                            Activity = entry.Activity,
                            Comment  = entry.Comment
                        });
                    }
                }

                //Remove all skip entries
                internalItems.RemoveAll(x => x.IsSkip);

                internalItems = GroupByPerDay(internalItems);

                foreach (InternalItem entry in internalItems)
                {
                    WebProject test = listProject.Find(l =>
                                                       l.Project.ToLower().Equals(entry.Project.ToLower()) &&
                                                       l.Task.ToLower().Equals(entry.Task.ToLower()));

                    if (test != null)
                    {
                        DateTime myDate = DateTime.ParseExact(entry.Date, "yyyy-MM-dd",
                                                              System.Globalization.CultureInfo.InvariantCulture);
                        //string timeDaily = (double.Parse(Time.GetInternalTime(entry.Time).Replace(".", ",")) / 2).ToString().Replace(",", ".");
                        string timeDaily = TimeHelper.GetInternalTime(entry.Time);

                        selenium.FindElement(By.XPath("//button[@data-id='" + test.IdElement + "']"), 50).Click();
                        Thread.Sleep(5000);
                        selenium.FindElement(By.XPath("//input[@name='WorkedHourDate']"), 50).Clear();
                        selenium.FindElement(By.XPath("//input[@name='WorkedHourDate']"), 50)
                        .SendKeys(myDate.ToString("dd/MM/yyyy"));
                        selenium.FindElement(By.XPath("//input[@name='WorkedHourDate']"), 50).SendKeys(Keys.Enter);

                        selenium.FindElement(By.XPath("//input[@name='Amount']"), 50).Clear();
                        selenium.FindElement(By.XPath("//input[@name='Amount']"), 50).SendKeys(entry.Time);
                        selenium.FindElement(By.XPath("//input[@name='Description']"), 50).SendKeys(entry.Comment);

                        if (!string.IsNullOrWhiteSpace(entry.Ticket) && isEnableTicket)
                        {
                            selenium.FindElement(
                                By.XPath("//span[@class='select2-selection select2-selection--single']"), 50).Click();
                            IWebElement TicketSelect =
                                selenium.FindElement(By.XPath("//input[@class='select2-search__field']"), 50);
                            TicketSelect.SendKeys(entry.Ticket);
                            Thread.Sleep(15000);
                            try
                            {
                                TicketSelect.SendKeys(Keys.Enter);
                            }
                            catch (Exception e)
                            {
                                Thread.Sleep(15000);
                                TicketSelect.SendKeys(Keys.Enter);
                            }
                        }

                        IWebElement ActivitySelect =
                            selenium.FindElement(By.XPath("//*[@id='addDashboardHoursInputActivities']"), 50);
                        ActivitySelect.Click();
                        ActivitySelect.FindElement(By.XPath(".//option[contains(text(),'" + entry.Activity + "')]"))
                        .Click();
                        selenium.FindElement(By.XPath("//button[@value='submit']"), 50).Click();
                    }
                    else
                    {
                        Console.WriteLine(string.Format(
                                              "Project {0} doesn't exist - Task {1} - Activity {2} - Date {3}", entry.Project.ToLower(),
                                              entry.Task, entry.Activity, entry.Date));
                    }
                }
            }
        }