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; }
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)); }
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); } }
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 ); } }
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); } }
/// <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)); }
/// <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)); }
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)); }
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()); } }
/// <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); } }
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); } }
/// <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); } }
/// <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); } }
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; }
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 ); }
/// <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); } }
/// <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); } }
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; }
/// <summary> /// 停止项目的工作 /// </summary> /// <param name="project"></param> public void StopCoding(WebProject project) { Console.WriteLine("{0} 停止 [{1}] 项目", DeveloperName, project.ProjectName); }
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 ); } }
/// <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 ); } }
internal static void Generate(TextWriter writer, string webProjectPath, WebProject configuration) { generateCodeForWebItemsInFolder(writer, webProjectPath, "", configuration); }
/// <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); }
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 ); }
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); } }
private string customizeNamespace(string text, WebProject webProject) { return(text.Replace("EnterpriseWebLibrary.WebSite", webProject.NamespaceAndAssemblyName)); }
void CreateWebProject(MSBuildBasedProject msbuildProject) { webProject = new WebProject(msbuildProject); }
/// <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 ); } }
/// <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()"); } }
/// <summary> /// 运维项目 /// </summary> /// <param name="project">项目</param> public void UpdateRoutine(WebProject project) { Console.WriteLine("{0} 维护 [{1}] 项目", DeveloperName, project.ProjectName); }
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(); }
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); }
/// <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); }
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)); } } } }