internal bool CheckRequiredParams(ServiceActivation act) { bool isNull = string.IsNullOrEmpty(act.role) || string.IsNullOrEmpty(act.service_type) || string.IsNullOrEmpty(act.company_id) || string.IsNullOrEmpty(act.email); return(!isNull); }
private IRestResponse ActivateService(ServiceActivation service, string projectId, int rowIndex = -1) { IRestResponse response = null; if (false == CheckRequiredParams(service)) { string msg = $"- one of the required parameters is null or empty. Required are: role, service_type,company_id,email"; if (rowIndex > -1) { DataController._serviceTable.Rows[rowIndex]["result"] = ResultCodes.IncompleteInputData; DataController._serviceTable.Rows[rowIndex]["result_message"] = msg; } Log.Error(msg); } try { response = _projectApi.PostUserAndService(projectId, service); ActivateProjectResponseHandler(response, projectId, rowIndex); } catch (Exception ex) { Log.Error(ex); } return(response); }
/// <summary> /// Creat model. /// </summary> /// <param name="modelBuilder">model builder</param> protected override void OnModelCreating(DbModelBuilder modelBuilder) { try { base.OnModelCreating(modelBuilder); OnUserModelCreating(modelBuilder); OnAcvtivityModelCreating(modelBuilder); OnNewsModelCreating(modelBuilder); OnOccurrenceModelCreating(modelBuilder); OnRessourceModelCreating(modelBuilder); OnCountryModelCreating(modelBuilder); OnSectionModelCreating(modelBuilder); OnNewsletterModelCreating(modelBuilder); OnAboutModelCreating(modelBuilder); OnStepModelCreating(modelBuilder); modelBuilder.HasDefaultSchema(ConfigurationManagerHelper.GetAppSettingsToString(Constant.OmsDefaultSchema, string.Empty)); modelBuilder.Properties().Where(p => p.PropertyType == typeof(string) && p.GetCustomAttributes(typeof(MaxLengthAttribute), false).Length == 0).Configure(p => p.HasMaxLength(int.MaxValue)); var entityMethod = typeof(DbModelBuilder).GetMethod("Entity"); var activeServices = ServiceActivation.GetAllActivatedServices().ToList(); foreach (var service in activeServices) { var entityAssembly = ServiceSettings.GetEntityAssembly(service); var dependencies = ServiceSettings.GetAllServiceDependencies(service).ToSystemTypeList(entityAssembly); foreach (var type in dependencies) { if (entityMethod != null) { entityMethod.MakeGenericMethod(type).Invoke(modelBuilder, new object[] { }); } } var configs = ServiceSettings.GetAllServiceConfigurationDependencies(service).ToSystemTypeList(entityAssembly); foreach (var type in configs) { dynamic configurationInstance = Activator.CreateInstance(type); modelBuilder.Configurations.Add(configurationInstance); } } } catch (Exception ex) { throw new ArgumentNullException(ex.Message); } }
/// <summary> /// The overrided load method. /// </summary> public override void Load() { // gets activated services var activeServices = ServiceActivation.GetAllActivatedServices().ToList(); foreach (var service in activeServices) { // gets list of adapters for service var serviceAssemblyName = ServiceSettings.GetServiceAssembly(service, Configuration.Section.Enum.AssemblyType.Service); if (!string.IsNullOrEmpty(serviceAssemblyName)) { var serviceAssembly = Assembly.Load(serviceAssemblyName); var adapters = ServiceSettings.GetAllServiceAdapters(service, Configuration.Section.Enum.AssemblyType.Service); foreach (var adapter in adapters) { var _class = serviceAssembly.GetType(adapter.Key); var _interface = serviceAssembly.GetType(adapter.Value); Bind(_interface).To(_class); } } // gets list of adapters for web Api service var webApiServiceAssemblyName = ServiceSettings.GetServiceAssembly(service, Configuration.Section.Enum.AssemblyType.WebApiService); if (string.IsNullOrEmpty(webApiServiceAssemblyName)) { continue; } { var webApiServiceAssembly = Assembly.Load(webApiServiceAssemblyName); var adapters = ServiceSettings.GetAllServiceAdapters(service, Configuration.Section.Enum.AssemblyType.WebApiService); foreach (var adapter in adapters) { var _class = webApiServiceAssembly.GetType(adapter.Key); var _interface = webApiServiceAssembly.GetType(adapter.Value); Bind(_interface).To(_class); } } } }
//var request = new RestRequest(Method.GET); // //request.Resource = "bim360/admin/v1/projects/{ProjectId}/users"; // request.Resource = Urls["projects_users"]; // request.AddParameter("ProjectId", projectId, ParameterType.UrlSegment); // request.AddHeader("cache-control", "no-cache"); // request.AddHeader("authorization", $"Bearer {Token}"); // request.AddHeader("content-type", ContentType); // JsonSerializerSettings settings = new JsonSerializerSettings(); // settings.NullValueHandling = NullValueHandling.Ignore; // IRestResponse response = ExecuteRequest(request); // Client.Execute(request); // return response; //} /// <summary> /// Assigns an admin user and services to a project. Returns an error if that user is already assigned /// To update projects and add new services use PatchProjects instead /// </summary> /// <param name="projectId">Id of the project</param> /// <param name="service">A ServiceActivation object</param> /// <returns>IRestResponse object</returns> public IRestResponse PostUserAndService(string projectId, ServiceActivation service) { var request = new RestRequest(Method.POST); //request.Resource = "hq/v1/accounts/{AccountId}/projects/{ProjectId}/users"; request.Resource = Urls["projects_projectId_users"]; request.AddParameter("AccountId", options.ForgeBimAccountId, ParameterType.UrlSegment); request.AddParameter("ProjectId", projectId, ParameterType.UrlSegment); request.AddHeader("cache-control", "no-cache"); request.AddHeader("authorization", $"Bearer {Token}"); request.AddHeader("content-type", ContentType); JsonSerializerSettings settings = new JsonSerializerSettings(); settings.NullValueHandling = NullValueHandling.Ignore; string serviceString = JsonConvert.SerializeObject(service, settings); request.AddParameter("application/json", serviceString, ParameterType.RequestBody); IRestResponse response = ExecuteRequest(request); // Client.Execute(request); return(response); }
public static Dictionary <int, ServiceActivation> GetServiceActivations() { Dictionary <int, ServiceActivation> serviceActivations = new Dictionary <int, ServiceActivation>(); int i = 0; foreach (DataRow row in _serviceTable.Rows) { i++; // skip empty rows if (string.IsNullOrWhiteSpace(Convert.ToString(row))) { continue; } ServiceActivation service = new ServiceActivation(); try { service.project_name = Util.GetStringOrNull(row["project_name"]); if (false == Util.IsNameValid(service.project_name)) { Log.Error($"- row {i} skipped. project_name is missing or invalid."); continue; } service.service_type = Util.GetStringOrNull(row["service_type"]); if (string.IsNullOrWhiteSpace(service.service_type)) { Log.Warn($"- row {i} skipped. service_type is missing."); continue; } //else if (service.service_type.Contains(Config.secondDelimiter.ToString())) //{ // // Replace service_type delimeter to comma // service.service_type = service.service_type.Replace(Config.secondDelimiter, ','); //} service.email = Util.GetStringOrNull(row["email"]); if (string.IsNullOrWhiteSpace(service.email)) { Log.Warn($"- row {i} skipped. email is missing."); continue; } service.company = Util.GetStringOrNull(row["company"]); if (string.IsNullOrWhiteSpace(service.company)) { Log.Warn($"- row {i} skipped. company is missing."); continue; } BimCompany comp = Companies.FirstOrDefault(c => c.name.Equals(service.company)); if (comp != null) { service.company_id = comp.id; } } catch (Exception e) { row["result"] = ResultCodes.ErrorParsing; row["result_message"] = e.Message; Log.Error(e, $"- error parsing row {i}"); continue; } serviceActivations.Add(i - 1, service); } return(serviceActivations); }