Пример #1
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();
            UpdateOrganizationRequest request;

            try
            {
                request = new UpdateOrganizationRequest
                {
                    OrganizationId            = OrganizationId,
                    UpdateOrganizationDetails = UpdateOrganizationDetails,
                    OpcRequestId  = OpcRequestId,
                    IfMatch       = IfMatch,
                    OpcRetryToken = OpcRetryToken
                };

                response = client.UpdateOrganization(request).GetAwaiter().GetResult();
                WriteOutput(response, CreateWorkRequestObject(response.OpcWorkRequestId));
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
Пример #2
0
        public async Task <IActionResult> Put([FromBody] UpdateOrganizationRequest request, Guid id)
        {
            var organisationDto = _mapper.Map <OrganizationDto>(request);

            organisationDto.Id = id;
            await _organizationService.UpdateAsync(organisationDto);

            return(NoContent());
        }
        public ActionResult <OperationResult <int?> > Update([FromBody] UpdateOrganizationRequest model)
        {
            model.IsDeleted   = false;
            model.UpdatedDate = DateTime.UtcNow;
            var result = _organizationService.UpdateOrganization(model);

            return(new OperationResult <int?>()
            {
                IsSuccess = result.IsSuccess,
                Data = result.Data?.ID,
                Message = result.Message
            });
        }
        public void TestUpdateOrganizationRequest()
        {
            string json = @"{
  ""name"": ""New Organization Name"",
  ""quota_definition_guid"": ""1bd41263-5150-462d-ada4-073df672295f""
}";

            UpdateOrganizationRequest request = new UpdateOrganizationRequest();

            request.Name = "New Organization Name";
            request.QuotaDefinitionGuid = new Guid("1bd41263-5150-462d-ada4-073df672295f");
            string result = JsonConvert.SerializeObject(request, Formatting.None);
            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
Пример #5
0
        public void TestUpdateOrganizationRequest()
        {
            string json = @"{
  ""name"": ""New Organization Name"",
  ""quota_definition_guid"": ""d649f908-d093-4689-af80-b5a80cca9352""
}";

            UpdateOrganizationRequest request = new UpdateOrganizationRequest();

            request.Name = "New Organization Name";
            request.QuotaDefinitionGuid = new Guid("d649f908-d093-4689-af80-b5a80cca9352");
            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
        public void TestUpdateOrganizationRequest()
        {
            string json = @"{
  ""name"": ""New Organization Name"",
  ""quota_definition_guid"": ""fc8e1595-c555-4449-a6c2-8bc4b51b6e11""
}";

            UpdateOrganizationRequest request = new UpdateOrganizationRequest();

            request.Name = "New Organization Name";
            request.QuotaDefinitionGuid = new Guid("fc8e1595-c555-4449-a6c2-8bc4b51b6e11");
            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
Пример #7
0
        public void TestUpdateOrganizationRequest()
        {
            string json = @"{
  ""name"": ""New Organization Name"",
  ""quota_definition_guid"": ""20a52a63-0290-4e00-8210-f0e3d34b8fb5""
}";

            UpdateOrganizationRequest request = new UpdateOrganizationRequest();

            request.Name = "New Organization Name";
            request.QuotaDefinitionGuid = new Guid("20a52a63-0290-4e00-8210-f0e3d34b8fb5");
            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
        /// <summary>
        /// Update an Organization
        /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/250/organizations/update_an_organization.html"</para>
        /// </summary>
        public async Task <UpdateOrganizationResponse> UpdateOrganization(Guid?guid, UpdateOrganizationRequest value)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = string.Format(CultureInfo.InvariantCulture, "/v2/organizations/{0}", guid);
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Put;


            client.Content = ((string)JsonConvert.SerializeObject(value)).ConvertToStream();
            var expectedReturnStatus = 201;
            var response             = await this.SendAsync(client, expectedReturnStatus);

            return(Utilities.DeserializeJson <UpdateOrganizationResponse>(await response.Content.ReadAsStringAsync()));
        }
        public OperationResult <OrganizationModel> CreateOrganization(UpdateOrganizationRequest request)
        {
            if (request.IncludeHostname)
            {
                foreach (var hostName in request.HostNames)
                {
                    var existingHost = _hostDefinitionRepository.FindByName(hostName);
                    if (existingHost != null)
                    {
                        return(new OperationResult <OrganizationModel>(false, Constants.Messages.ORGANIZATION_DUPLICATE_HOST));
                    }
                }
            }
            var address = new Address();

            address.AddressLine = request.AddressLine;
            address.CountryId   = request.CountryId;
            address.ProvinceId  = request.ProvinceId;
            address.DistrictId  = request.DistrictId;
            var newAddress = _addressRepository.Insert(address);

            _addressRepository.SaveChanges();
            var organization = request.ToEntity();

            organization.AddressId = newAddress.ID;
            var newOrganization = _organizationRepository.Insert(organization);

            _organizationRepository.SaveChanges();
            if (request.IncludeHostname)
            {
                foreach (var hostName in request.HostNames)
                {
                    _hostDefinitionRepository.Insert(new HostDefinition()
                    {
                        HostName       = hostName,
                        OrganizationId = newOrganization.ID
                    });
                }
                _hostDefinitionRepository.SaveChanges();
            }
            return(new OperationResult <OrganizationModel>(newOrganization.ToModel(), true));
        }
Пример #10
0
        /// <summary>
        /// Update an Organization
        /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/205/organizations/update_an_organization.html"</para>
        /// </summary>
        public async Task <UpdateOrganizationResponse> UpdateOrganization(Guid?guid, UpdateOrganizationRequest value)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = string.Format(CultureInfo.InvariantCulture, "/v2/organizations/{0}", guid);
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Put;
            var authHeader = await BuildAuthenticationHeader();

            if (!string.IsNullOrWhiteSpace(authHeader.Key))
            {
                client.Headers.Add(authHeader);
            }
            client.ContentType = "application/x-www-form-urlencoded";
            client.Content     = ((string)JsonConvert.SerializeObject(value)).ConvertToStream();
            var expectedReturnStatus = 201;
            var response             = await this.SendAsync(client, expectedReturnStatus);

            return(Utilities.DeserializeJson <UpdateOrganizationResponse>(await response.ReadContentAsStringAsync()));
        }
        public OperationResult <OrganizationModel> UpdateOrganization(UpdateOrganizationRequest request)
        {
            var existingOrganization = _organizationRepository.GetById(request.ID);

            if (existingOrganization == null || existingOrganization.IsDeleted)
            {
                return(new OperationResult <OrganizationModel>(false, Constants.Messages.ORGANIZATION_DONT_EXIST));
            }
            if (request.IncludeHostname)
            {
                foreach (var hostName in request.HostNames)
                {
                    var existingHost = _hostDefinitionRepository.FindByName(hostName);
                    if (existingHost != null && existingHost.OrganizationId != existingOrganization.ID)
                    {
                        return(new OperationResult <OrganizationModel>(false, Constants.Messages.ORGANIZATION_DUPLICATE_HOST));
                    }
                }
            }
            var address = new Address();

            address.AddressLine = request.AddressLine;
            address.CountryId   = request.CountryId;
            address.ProvinceId  = request.ProvinceId;
            address.DistrictId  = request.DistrictId;
            Address newAddress;

            if (request.AddressId == 0)
            {
                newAddress = _addressRepository.Insert(address);
            }
            else
            {
                address.ID = existingOrganization.AddressId;
                newAddress = _addressRepository.Update(address);
            }
            _addressRepository.SaveChanges();
            var organization = request.ToEntity();

            organization.AddressId = newAddress.ID;
            _organizationRepository.Update(organization);
            _organizationRepository.SaveChanges();
            if (request.IncludeHostname)
            {
                var organizationHosts = _hostDefinitionRepository.GetByOrganization(existingOrganization.ID);
                foreach (var oldHost in organizationHosts)
                {
                    if (request.HostNames.All(x => !x.Equals(oldHost.HostName, StringComparison.OrdinalIgnoreCase)))
                    {
                        _hostDefinitionRepository.Delete(oldHost.ID);
                    }
                }
                foreach (var newHost in request.HostNames)
                {
                    if (organizationHosts.All(x => !x.HostName.Equals(newHost, StringComparison.OrdinalIgnoreCase)))
                    {
                        _hostDefinitionRepository.Insert(new HostDefinition()
                        {
                            HostName       = newHost,
                            OrganizationId = existingOrganization.ID
                        });
                    }
                }
                _hostDefinitionRepository.SaveChanges();
            }
            return(new OperationResult <OrganizationModel>(existingOrganization.ToModel(), true));
        }
Пример #12
0
        public void UpdateOrganizationTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""1806ec7c-8a5f-449a-927c-beaf4c0b66c1"",
    ""url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1"",
    ""created_at"": ""2015-05-19T15:27:20+00:00"",
    ""updated_at"": ""2015-05-19T15:27:20+00:00""
  },
  ""entity"": {
    ""name"": ""New Organization Name"",
    ""billing_enabled"": false,
    ""quota_definition_guid"": ""1bd41263-5150-462d-ada4-073df672295f"",
    ""status"": ""active"",
    ""quota_definition_url"": ""/v2/quota_definitions/1bd41263-5150-462d-ada4-073df672295f"",
    ""spaces_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/spaces"",
    ""domains_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/domains"",
    ""private_domains_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/private_domains"",
    ""users_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/users"",
    ""managers_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/managers"",
    ""billing_managers_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/billing_managers"",
    ""auditors_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/auditors"",
    ""app_events_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/app_events"",
    ""space_quota_definitions_url"": ""/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/space_quota_definitions""
  }
}";
                clients.JsonResponse = json;

                clients.ExpectedStatusCode = (HttpStatusCode)201;
                var cfClient = clients.CreateCloudFoundryClient();

                Guid? guid = Guid.NewGuid();

                UpdateOrganizationRequest value = new UpdateOrganizationRequest();


                var obj = cfClient.Organizations.UpdateOrganization(guid, value).Result;


                Assert.AreEqual("1806ec7c-8a5f-449a-927c-beaf4c0b66c1", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2015-05-19T15:27:20+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("2015-05-19T15:27:20+00:00", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("New Organization Name", TestUtil.ToTestableString(obj.Name), true);
                Assert.AreEqual("false", TestUtil.ToTestableString(obj.BillingEnabled), true);
                Assert.AreEqual("1bd41263-5150-462d-ada4-073df672295f", TestUtil.ToTestableString(obj.QuotaDefinitionGuid), true);
                Assert.AreEqual("active", TestUtil.ToTestableString(obj.Status), true);
                Assert.AreEqual("/v2/quota_definitions/1bd41263-5150-462d-ada4-073df672295f", TestUtil.ToTestableString(obj.QuotaDefinitionUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/domains", TestUtil.ToTestableString(obj.DomainsUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/private_domains", TestUtil.ToTestableString(obj.PrivateDomainsUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/users", TestUtil.ToTestableString(obj.UsersUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/managers", TestUtil.ToTestableString(obj.ManagersUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/billing_managers", TestUtil.ToTestableString(obj.BillingManagersUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/auditors", TestUtil.ToTestableString(obj.AuditorsUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/app_events", TestUtil.ToTestableString(obj.AppEventsUrl), true);
                Assert.AreEqual("/v2/organizations/1806ec7c-8a5f-449a-927c-beaf4c0b66c1/space_quota_definitions", TestUtil.ToTestableString(obj.SpaceQuotaDefinitionsUrl), true);

            }
        }
Пример #13
0
 /// <summary>
 /// Update an Organization
 /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/195/organizations/update_an_organization.html"</para>
 /// </summary>
 public async Task<UpdateOrganizationResponse> UpdateOrganization(Guid? guid, UpdateOrganizationRequest value)
 {
     UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);
     uriBuilder.Path = string.Format(CultureInfo.InvariantCulture, "/v2/organizations/{0}", guid);
     var client = this.GetHttpClient();
     client.Uri = uriBuilder.Uri;
     client.Method = HttpMethod.Put;
     var authHeader = await BuildAuthenticationHeader();
     if (!string.IsNullOrWhiteSpace(authHeader.Key))
     {
         client.Headers.Add(authHeader);
     }
     client.ContentType = "application/x-www-form-urlencoded";
     client.Content = JsonConvert.SerializeObject(value).ConvertToStream();
     var expectedReturnStatus = 201;
     var response = await this.SendAsync(client, expectedReturnStatus);
     return Utilities.DeserializeJson<UpdateOrganizationResponse>(await response.ReadContentAsStringAsync());
 }