public static void CrawlAnalyserPhaseCompleted(string projectId) { try { if (_kitsuneServer == null) { InitializeConnection(); } var kitsuneProjectCollection = _kitsuneDatabase.GetCollection <KitsuneProject>(KitsuneProjectsCollectionName); KitsuneProject kitsuneProjectDetails = kitsuneProjectCollection.Find(x => x.ProjectId.Equals(projectId)).Limit(1).FirstOrDefault(); switch (kitsuneProjectDetails.ProjectType) { case ProjectType.WORDPRESS: SaveSelectedDomainRequestModel SaveAndStartSecondStageModel = new SaveSelectedDomainRequestModel() { ProjectId = projectId }; SaveSelectedDomain(SaveAndStartSecondStageModel); break; default: break; } } catch (Exception ex) { //LOG } }
internal static string CreateNewProject(string projectName, string userEmail, string clientId, int compilerVersion, ProjectType projectType = ProjectType.NEWPROJECT, ProjectStatus projectStatus = ProjectStatus.IDLE) { try { if (_kitsuneServer == null) { InitializeConnection(); } var kitsuneProjectCollection = _kitsuneDatabase.GetCollection <KitsuneProject>(KitsuneProjectsCollectionName); var projectId = ObjectId.GenerateNewId().ToString(); DateTime datetime = DateTime.Now; #region Create Kitsune Project BucketNames bucketNames = new BucketNames { source = AmazonAWSConstants.SourceBucketName, demo = AmazonAWSConstants.DemoBucketName, placeholder = AmazonAWSConstants.PlaceHolderBucketName, production = AmazonAWSConstants.ProductionBucketName }; KitsuneProject newProject = new KitsuneProject() { CreatedOn = datetime, UpdatedOn = datetime, IsArchived = false, ProjectId = projectId, ProjectName = projectName, UserEmail = userEmail, BucketNames = bucketNames, ProjectType = projectType, ProjectStatus = projectStatus, PublishedVersion = 0, Version = 1, CompilerVersion = compilerVersion }; kitsuneProjectCollection.InsertOne(newProject); #endregion #region Create Default Customer try { CreateDefaultWebsite(projectId, projectName, userEmail, clientId); } catch (Exception ex) { //Log Error creating New Customer } #endregion #region Create Settings File if (!CreateDefaultSettingsFile(projectId)) { //TODO Log error creating default settings file } #endregion #region Create Default Resources var projectResourceCreated = CreateDefaultStaticIndexResource(projectId); #endregion #region SendDeveloperEmail if (!string.IsNullOrEmpty(projectName)) { var UserCollection = _kitsuneDatabase.GetCollection <UserModel>(KitsuneUserCollectionName); var WebsiteCollection = _kitsuneDatabase.GetCollection <KitsuneWebsiteCollection>(KitsuneWebsiteCollectionName); var WebsiteUserCollection = _kitsuneDatabase.GetCollection <KitsuneWebsiteUserCollection>(KitsuneWebsiteUserCollectionName); var websiteDetail = WebsiteCollection.Find(x => x.ProjectId == projectId).FirstOrDefault(); if (websiteDetail != null) { string websiteId = websiteDetail._id; KitsuneWebsiteUserCollection websiteUser = WebsiteUserCollection.Find(x => x.WebsiteId.Equals(websiteId)).SortBy(x => x.CreatedOn).FirstOrDefault(); if (websiteUser != null) { string username = websiteUser.UserName; string password = websiteUser.Password; string developerId = websiteUser.DeveloperId; if (!String.IsNullOrEmpty(developerId)) { var userDetails = UserCollection.Find(x => x._id.Equals(developerId)).FirstOrDefault(); if (userDetails != null) { Dictionary <string, string> optionalParameters = new Dictionary <string, string> { { EnvConstants.Constants.EmailParam_KAdminUserName, websiteUser.UserName }, { EnvConstants.Constants.EmailParam_KAdminPassword, websiteUser.Password } }; optionalParameters[EnvConstants.Constants.EmailParam_KAdminUrl] = string.Format(EnvConstants.Constants.KAdminBaseUrl, websiteDetail.WebsiteUrl).ToLower(); optionalParameters[EnvConstants.Constants.EmailParam_ProjectName] = projectName; ///TODO : Put first name once its added on user creation optionalParameters[EnvConstants.Constants.EmailParam_DeveloperName] = userDetails.DisplayName; EmailHelper emailHelper = new EmailHelper(); emailHelper.SendGetKitsuneEmail(string.Empty, userDetails.UserName, MailType.DEFAULT_CUSTOMER_KADMIN_CREDENTIALS, null, optionalParameters); } } } } } #endregion return(projectId); } catch (Exception ex) { throw ex; } }