private int UpdateComponentFiles(BuilderComponent component) { int result = 0; string filePath = component.FilePath.Trim(); downLoadcomponent = component; if (filePath != string.Empty && filePath != null) { GetOnlineComponent(component); result = 1; //if (result > 0) //{ // //result = objController.UpdateComponentValue(component.ComponentName, component.ComponentValue, component.UserModuleID, component.Version, component.UniversalComponentID, component.Type); // if (result > 0 && filePath != string.Empty && filePath != null) // { // result = 3; // } //} } else if (filePath == string.Empty || filePath == null) { result = UpdateComponentValue(component.ComponentName, component.ComponentValue, component.UserModuleID, component.Version, component.UniversalComponentID, component.Type); if (isLoopDepemdencyCheck) { ComponentDependencies(); } } return(result); }
public void GetOnlineComponent(BuilderComponent component) { SageFrameConfig sageConfig = new SageFrameConfig(); OnlineStoreURL = sageConfig.GetSettingValueByIndividualKey(SageFrameSettingKeys.OnlineStore); string apiUrl = OnlineStoreURL + "/GetOnlineComponentPackage"; ComponentPackage tempThemeDetail = new ComponentPackage(); using (WebClient wc = new WebClient()) { wc.Headers[HttpRequestHeader.ContentType] = "application/json"; wc.QueryString.Add("componentID", component.UniversalComponentID.ToString()); wc.Encoding = Encoding.UTF8; var resultData = wc.DownloadString(apiUrl); dynamic dyn = JsonConvert.DeserializeObject(resultData); if (dyn != null) { tempThemeDetail = JsonConvert.DeserializeObject <ComponentPackage>(dyn.d.Value); } string themePackageFilePath = HttpContext.Current.Server.MapPath(@"\downloadmyComponent"); if (!Directory.Exists(themePackageFilePath)) { Directory.CreateDirectory(themePackageFilePath); } successComponentName = tempThemeDetail.FileName; componentDownloadPath = themePackageFilePath + "\\component.zip"; string sendHostURl = OnlineStoreURL.Replace("Sage_Services/OnlineStore.asmx", ""); tempThemeDetail.HostUrl = sendHostURl + tempThemeDetail.FolderName + "/" + tempThemeDetail.FileName; DownloadComponentZip(tempThemeDetail.HostUrl, componentDownloadPath); } }
private int UpdateComponentForPage(BuilderComponent objComponent) { BuilderComponent component = new BuilderComponent(); ComponentUploadHandler objComponentUploadHandler = new ComponentUploadHandler(); component = objComponentUploadHandler.GetComponentByIDAndVersion(objComponent.UniversalComponentID, objComponent.Version); return(objComponentUploadHandler.UpdateComponentBulk(component, false)); }
public int UpdateComponentBulk(BuilderComponent component, bool checkFordependencies) { int result = 0; string easyVersion = string.Empty; checkFordependency = checkFordependencies; isLoopDepemdencyCheck = true; result = UpdateComponentFiles(component); return(result); }
public BuilderComponent GetComponentByIDAndVersion(long universalComponentID, decimal version) { BuilderComponent component = new BuilderComponent(); using (WebClient wc = new WebClient()) { SageFrameConfig sageConfig = new SageFrameConfig(); string onlineStoreURL = sageConfig.GetSettingValueByIndividualKey(SageFrameSettingKeys.OnlineStore); string apiUrl = onlineStoreURL + "/GetComponentByIDAndVersion"; wc.Headers[HttpRequestHeader.ContentType] = "application/json"; wc.QueryString.Add("componentID", universalComponentID.ToString()); wc.QueryString.Add("version", version.ToString()); wc.Encoding = Encoding.UTF8; var resultData = wc.DownloadString(apiUrl); dynamic dyn = JsonConvert.DeserializeObject(resultData); if (dyn != null) { string output = JsonConvert.SerializeObject(dyn.d); component = JsonConvert.DeserializeObject <BuilderComponent>(output); } } return(component); }
public void ComponentDependencies() { if (checkFordependency) { string depencies = downLoadcomponent.Dependencies.Trim(); List <long> dependenciesList = new List <long>(); int userModuleID = downLoadcomponent.UserModuleID; if (depencies != string.Empty && depencies != null) { dependenciesList = depencies.Split(',').Select(long.Parse).ToList(); } if (dependenciesList.Count > 0) { foreach (long id in dependenciesList) { BuilderComponent deComponent = new BuilderComponent(); deComponent = GetComponentByIDAndVersion(id, 0); deComponent.UserModuleID = userModuleID; isLoopDepemdencyCheck = false; UpdateComponentFiles(deComponent); } } } }