public string CreateGatewayProject(M2MgoCloudAgentConfiguration config, GatewayProjectPutModel model) { return(_userTokenWebApiWrapper.RetryWithTokenUpdate(config, () => { if (model == null) { throw new ArgumentNullException("model"); } HttpWebRequest request = (HttpWebRequest)WebRequest.Create(config.BaseUrl + "api/gatewayProject"); request.Method = "PUT"; string serializeObject = _serializer.Serialize(model); return _webApiRequestExecutor.ExecuteRequest(request, serializeObject, _userTokenWebApiWrapper.GetToken(), _logger); })); }
private GatewayProjectGetModel EnsureProject(M2MgoCloudAgentConfiguration config, UicProject project) { string result = _apiWrapper.GetGatewayProject(config, project); if (result.IsNullOrEmpty()) { var model = new GatewayProjectPutModel(_projectTranslator.GetProjectDomain(project), config.SgetGatewayTypeId, project.Name, project.ProjectKey, "", project.GetType().ToString()); _apiWrapper.CreateGatewayProject(config, model); result = _apiWrapper.GetGatewayProject(config, project); if (result.IsNullOrEmpty()) { throw new Exception("Could not create GatewayProject!"); } } _logger.Information(result); var gatewayProjectGetModel = _serializer.Deserialize <GatewayProjectGetModel>(result); return(gatewayProjectGetModel); }