public ActionResult Index( string applicationPath = null, string siteName = null, IISSiteType siteType = IISSiteType.Default, IISViewActionType viewActionType = IISViewActionType.InformationComponent) { string db = null; string redisDb = null; if (!string.IsNullOrEmpty(applicationPath)) { switch (siteType) { case IISSiteType.Application: db = ConnectionStringsService.GetMssqlDb(applicationPath, false); redisDb = ConnectionStringsService.GetRedisDb(applicationPath, false); break; case IISSiteType.Site: db = ConnectionStringsService.GetMssqlDb(applicationPath, true); redisDb = ConnectionStringsService.GetRedisDb(applicationPath, true); break; default: var exception = new Exception("Такой тип приложения не поддерживается"); NLogger.Log(exception); throw exception; } } var viewModel = new IISIndexViewModel { SiteName = siteName, ApplicationPath = applicationPath, SiteType = siteType, ActionViewType = viewActionType, Database = db, RedisDatabase = redisDb, IsFeatureTableExist = !string.IsNullOrEmpty(db) && FeatureService.GetFeatureTableExist(db).GetAwaiter().GetResult() }; if (!string.IsNullOrEmpty(applicationPath)) { SiteInformation information; // TODO Extract interface for DI using (var infoService = new SiteInformationService()) { information = infoService.GetInformationBySiteType(applicationPath, siteType); } viewModel.ApplicationPoolName = information.ApplicationPoolName; viewModel.IsPoolStoppingOrStopped = ApplicationPoolService.IsPoolStoppingOrStopped(information.ApplicationPoolName); viewModel.IsPoolStartingOrStarted = ApplicationPoolService.IsPoolStartingOrStarted(information.ApplicationPoolName); } return(View(viewModel)); }
public IISSiteWrapper(Site site) { var ftpSsl = !string.IsNullOrWhiteSpace(site. GetChildElement("ftpServer")?. GetChildElement("security")?. GetChildElement("ssl")?. GetAttributeValue("serverCertHash")?. ToString()); Site = site; Bindings = site.Bindings.Select(x => { var secure = x.Protocol == "https" || ((x.Protocol == "ftp") && ftpSsl); return(new IISBindingWrapper(x, secure)); }).ToList(); if (Bindings.All(b => b.Protocol == "ftp" || b.Protocol == "ftps")) { Type = IISSiteType.Ftp; } else if (Bindings.Any(b => b.Protocol == "http" || b.Protocol == "https")) { Type = IISSiteType.Web; } }
public PartialViewResult GetConfigurationFileComponent(string path, IISSiteType siteType) { var filePath = ConnectionStringsService.GetConfigurationFilePath(path, siteType); var fileReader = new FileReader(); var fileText = fileReader.ReadTextFile(filePath); return(PartialView("_ConfigurationFileComponent", fileText)); }
public PartialViewResult GetInformationComponent(string path, IISSiteType siteType) { SiteInformation information; using (var infoService = new SiteInformationService()) { information = infoService.GetInformationBySiteType(path, siteType); } return(PartialView("_InformationComponent", information)); }
public SiteInformation GetInformationBySiteType(string path, IISSiteType siteType) { switch (siteType) { case IISSiteType.Site: return(GetSiteInformation(path)); case IISSiteType.Application: return(GetApplicationInformation(path)); default: return(null); } }
public ActionResult Index(string applicationPath = null, IISSiteType siteType = IISSiteType.Default, IISViewActionType viewActionType = IISViewActionType.InformationComponent) { string db = null; if (!string.IsNullOrEmpty(applicationPath)) { switch (siteType) { case IISSiteType.Application: db = ConnectionStringsService.GetMssqlDb(applicationPath, false); break; case IISSiteType.Site: db = ConnectionStringsService.GetMssqlDb(applicationPath, true); break; } } ViewBag.Name = applicationPath; ViewBag.SiteType = siteType; ViewBag.ActionViewType = viewActionType; ViewBag.Database = db; if (!string.IsNullOrEmpty(db)) { ViewBag.IsFeatureTableExist = FeatureService.GetFeatureTableExist(db).GetAwaiter().GetResult(); } else { ViewBag.IsFeatureTableExist = false; } return(View()); }
/// <summary> /// Get path to configuration file by site /// </summary> /// <param name="siteName">Site name or path</param> /// <param name="siteType">is site</param> /// <returns>Path for config file</returns> public string GetConfigurationFilePath(string siteName, IISSiteType siteType) { return(_connectionStringManager.GetConfigurationFilePath(siteName, siteType == IISSiteType.Site)); }
public PartialViewResult GetDeleteApplicationModal(string pathOrName, string siteName, IISSiteType siteType, string database) { ViewBag.PathOrName = pathOrName; ViewBag.SiteName = siteName; ViewBag.SiteType = siteType; ViewBag.Database = database; return(PartialView("_DeleteApplicationModal")); }
public PartialViewResult GetConnectionStringsComponent(string path, IISSiteType siteType) { //var data = ConnectionStringsService.GetSiteConnectionStrings(path, siteType == IISSiteType.Site); //var connectionStrings = data.ConnectionStrings; return(PartialView("_ConnectionStringsComponent")); }