public List <TemplateDetails> GetTemplatesByTags(string Tags) { var templates = new TemplateSelection.Templates(); var Selectedtemplates = new List <TemplateDetails>(); char delimiter = ','; string[] strComponents = Tags.Split(delimiter); try { Project model = new Project(); string[] dirTemplates = Directory.GetDirectories(System.Web.Hosting.HostingEnvironment.MapPath("~") + @"\Templates"); List <string> TemplateNames = new List <string>(); //Taking all the template folder and adding to list foreach (string template in dirTemplates) { TemplateNames.Add(Path.GetFileName(template)); // Reading Template setting file to check for private templates } if (System.IO.File.Exists(System.Web.Hosting.HostingEnvironment.MapPath("~") + @"\Templates\TemplateSetting.json")) { string templateSetting = model.ReadJsonFile(System.Web.Hosting.HostingEnvironment.MapPath("~") + @"\Templates\TemplateSetting.json"); templates = JsonConvert.DeserializeObject <TemplateSelection.Templates>(templateSetting); foreach (var groupwiseTemplates in templates.GroupwiseTemplates) { foreach (var tmp in groupwiseTemplates.Template) { if (tmp.Tags != null) { foreach (string str in strComponents) { if (tmp.Tags.Contains(str)) { TemplateDetails template = new TemplateDetails(); template.Name = tmp.Name; template.ShortName = tmp.ShortName; template.Tags = tmp.Tags; template.Description = tmp.Description; //template.TemplateFolder = tmp.TemplateFolder; Selectedtemplates.Add(template); break; } } } } } } } catch (Exception ex) { ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t BulkProject \t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); } return(Selectedtemplates); }
public JsonResult GetGroups() { string groupDetails = ""; TemplateSelection.Templates templates = new TemplateSelection.Templates(); string templatesPath = ""; templatesPath = Server.MapPath("~") + @"\Templates\"; string email = Session["Email"].ToString(); if (System.IO.File.Exists(templatesPath + "TemplateSetting.json")) { groupDetails = System.IO.File.ReadAllText(templatesPath + @"\TemplateSetting.json"); templates = JsonConvert.DeserializeObject <TemplateSelection.Templates>(groupDetails); foreach (var Group in templates.GroupwiseTemplates) { if (Group.Groups != "Private" && Group.Groups != "PrivateTemp") { foreach (var template in Group.Template) { string templateFolder = template.TemplateFolder; if (!string.IsNullOrEmpty(templateFolder)) { } } } } ProjectService.enableExtractor = Session["EnableExtractor"] != null ? Session["EnableExtractor"].ToString() : string.Empty; if (string.IsNullOrEmpty(ProjectService.enableExtractor) || ProjectService.enableExtractor == "false") { TemplateSelection.Templates _templates = new TemplateSelection.Templates(); _templates.Groups = new List <string>(); foreach (var group in templates.Groups) { if (group.ToLower() != "private") { _templates.Groups.Add(group); } } templates.Groups = _templates.Groups; } } return(Json(templates, JsonRequestBehavior.AllowGet)); }
public ActionResult CreateProject() { try { AccessDetails _accessDetails = new AccessDetails(); //AccessDetails _accessDetails = ProjectService.AccessDetails; string TemplateSelected = string.Empty; if (Session["visited"] != null) { Project model = new Project(); if (Session["EnableExtractor"] != null) { model.EnableExtractor = Session["EnableExtractor"].ToString(); ProjectService.enableExtractor = model.EnableExtractor.ToLower(); } if (Session["templateName"] != null && Session["templateName"].ToString() != "") { model.TemplateName = Session["templateName"].ToString(); TemplateSelected = model.TemplateName; } else { TemplateSelected = System.Configuration.ConfigurationManager.AppSettings["DefaultTemplate"]; } if (Session["PAT"] != null) { _accessDetails.access_token = Session["PAT"].ToString(); ProfileDetails profile = accountService.GetProfile(_accessDetails); if (profile.displayName != null || profile.emailAddress != null) { Session["User"] = profile.displayName ?? string.Empty; Session["Email"] = profile.emailAddress ?? profile.displayName.ToLower(); } if (profile.id != null) { AccountsResponse.AccountList accountList = accountService.GetAccounts(profile.id, _accessDetails); //New Feature Enabling model.accessToken = Session["PAT"].ToString(); model.refreshToken = _accessDetails.refresh_token; Session["PAT"] = _accessDetails.access_token; model.MemberID = profile.id; List <string> accList = new List <string>(); if (accountList.count > 0) { foreach (var account in accountList.value) { accList.Add(account.accountName); } accList.Sort(); model.accountsForDropdown = accList; model.hasAccount = true; } else { accList.Add("Select Organization"); model.accountsForDropdown = accList; ViewBag.AccDDError = "Could not load your organizations. Please check if the logged in Id contains the Azure DevOps Organizations or change the directory in profile page and try again."; } model.Templates = new List <string>(); model.accountUsersForDdl = new List <SelectListItem>(); TemplateSelection.Templates templates = new TemplateSelection.Templates(); string[] dirTemplates = Directory.GetDirectories(Server.MapPath("~") + @"\Templates"); //Taking all the template folder and adding to list foreach (string template in dirTemplates) { model.Templates.Add(Path.GetFileName(template)); } // Reading Template setting file to check for private templates if (System.IO.File.Exists(Server.MapPath("~") + @"\Templates\TemplateSetting.json")) { string templateSetting = model.ReadJsonFile(Server.MapPath("~") + @"\Templates\TemplateSetting.json"); templates = JsonConvert.DeserializeObject <TemplateSelection.Templates>(templateSetting); } //[for direct URLs] if the incoming template name is not null, checking for Template name in Template setting file. //if exist, will append the template name to Selected template textbox, else will append the SmartHotel360 template if (!string.IsNullOrEmpty(TemplateSelected)) { foreach (var grpTemplate in templates.GroupwiseTemplates) { foreach (var template in grpTemplate.Template) { if (template.Name != null) { if (template.Name.ToLower() == TemplateSelected.ToLower()) { model.SelectedTemplate = template.Name; model.Templates.Add(template.Name); model.selectedTemplateDescription = template.Description == null ? string.Empty : template.Description; model.selectedTemplateFolder = template.TemplateFolder == null ? string.Empty : template.TemplateFolder; model.Message = template.Message == null ? string.Empty : template.Message; model.ForkGitHubRepo = template.ForkGitHubRepo.ToString(); model.templateImage = template.Image ?? "/Templates/TemplateImages/CodeFile.png"; } } } } } return(View(model)); } } return(Redirect("../Account/Verify")); } else { Session.Clear(); return(Redirect("../Account/Verify")); } } catch (Exception ex) { ProjectService.logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\t" + "\n" + ex.StackTrace + "\n"); ViewBag.ErrorMessage = ex.Message; return(Redirect("../Account/Verify")); } }
public ActionResult Verify(LoginModel model, string id) { Session.Clear(); // check to enable extractor if (string.IsNullOrEmpty(model.EnableExtractor) || model.EnableExtractor.ToLower() == "false") { model.EnableExtractor = System.Configuration.ConfigurationManager.AppSettings["EnableExtractor"]; } if (!string.IsNullOrEmpty(model.EnableExtractor)) { Session["EnableExtractor"] = model.EnableExtractor; } var browser = Request.Browser.Type; if (browser.Contains("InternetExplorer")) { return(RedirectToAction("Unsupported_browser", "Account")); } try { if (!string.IsNullOrEmpty(model.name)) { if (System.IO.File.Exists(Server.MapPath("~") + @"\Templates\TemplateSetting.json")) { string privateTemplatesJson = System.IO.File.ReadAllText(Server.MapPath("~") + @"\Templates\TemplateSetting.json"); templates = Newtonsoft.Json.JsonConvert.DeserializeObject <TemplateSelection.Templates>(privateTemplatesJson); if (templates != null) { bool flag = false; foreach (var grpTemplate in templates.GroupwiseTemplates) { foreach (var template in grpTemplate.Template) { if (template.ShortName != null && template.ShortName.ToLower() == model.name.ToLower()) { flag = true; Session["templateName"] = template.Name; } } } if (flag == false) { Session["templateName"] = null; } } } } if (!string.IsNullOrEmpty(model.Event)) { string eventsTemplate = Server.MapPath("~") + @"\Templates\Events.json"; if (System.IO.File.Exists(eventsTemplate)) { string eventContent = System.IO.File.ReadAllText(eventsTemplate); var jItems = JObject.Parse(eventContent); if (jItems[model.Event] != null) { model.Event = jItems[model.Event].ToString(); } else { model.Event = string.Empty; } } } if (!string.IsNullOrEmpty(model.TemplateURL)) { if (model.TemplateURL.EndsWith(".zip")) { PrivateTemplate _privateTemplate = UploadPrivateTempalteFromHome(model.TemplateURL); if (_privateTemplate.IsTemplateValid) { Session["PrivateTemplateURL"] = _privateTemplate.privateTemplatePath; Session["PrivateTemplateName"] = _privateTemplate.privateTemplateName; Session["PrivateTemplateOriginalName"] = _privateTemplate.privateTemplateOriginalName; } else { ViewBag.resMessage = _privateTemplate.responseMessage; return(View(new LoginModel())); } } } } catch (Exception ex) { logger.Debug(JsonConvert.SerializeObject(ex, Formatting.Indented) + Environment.NewLine); } //return RedirectToAction("../account/verify"); return(View(model)); }