/// <summary> /// Create a new user organization record /// </summary> /// <remarks> /// See - /// http://wiki.kayako.com/display/DEV/REST+-+UserOrganization#REST-UserOrganization-POST%2FBase%2FUserOrganization /// </remarks> /// <param name="org">Organisation to create</param> /// <returns>Added organisation.</returns> public UserOrganization CreateUserOrganization(UserOrganizationRequest org) { const string apiMethod = "/Base/UserOrganization"; var parameters = PopulateRequestParameters(org, RequestTypes.Create); var orgs = this.Connector.ExecutePost <UserOrganizationCollection>(apiMethod, parameters.ToString()); return(orgs.Count > 0 ? orgs[0] : null); }
/// <summary> /// Create a new user organization record /// </summary> /// <remarks> /// See - http://wiki.kayako.com/display/DEV/REST+-+UserOrganization#REST-UserOrganization-POST%2FBase%2FUserOrganization /// </remarks> /// <param name="org">Organisation to create</param> /// <returns>Added organisation.</returns> public UserOrganization CreateUserOrganization(UserOrganizationRequest org) { string apiMethod = "/Base/UserOrganization"; RequestBodyBuilder parameters = PopulateRequestParameters(org, RequestTypes.Create); UserOrganizationCollection orgs = Connector.ExecutePost <UserOrganizationCollection>(apiMethod, parameters.ToString()); if (orgs.Count > 0) { return(orgs[0]); } return(null); }
/// <summary> /// Update the user organization identified by its unique identifier /// </summary> /// <param name="org"></param> /// <returns></returns> public UserOrganization UpdateUserOrganization(UserOrganizationRequest org) { var apiMethod = string.Format("/Base/UserOrganization/{0}", org.Id); var parameters = PopulateRequestParameters(org, RequestTypes.Update); var orgs = this.Connector.ExecutePut <UserOrganizationCollection>(apiMethod, parameters.ToString()); if (orgs != null && orgs.Count > 0) { return(orgs[0]); } return(null); }
public virtual async Task <ActionResult <UserOrganizationDto> > Create([FromBody] UserOrganizationRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var dto = await _userOrganizationService.CreateEntityAsync(request); if (dto == null) { return(StatusCode(500)); } return(dto); }
public virtual async Task <ActionResult> Update([FromBody] UserOrganizationRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _userOrganizationService.UpdateEntityAsync(request); if (result == null) { return(StatusCode(500)); } return(NoContent()); }
public async Task <UserOrganizationDto> UpdateEntityAsync(UserOrganizationRequest request) { var entity = _mapper.Map <UserOrganizationRequest, UserOrganization>(request); var res = await _uow.UserOrganizationRepository.UpdateAsync(entity); var result = await _uow.SaveAsync(); if (!result) { return(null); } if (entity == null) { return(null); } return(_mapper.Map <UserOrganization, UserOrganizationDto>(res)); }
public async Task <UserOrganizationDto> CreateEntityAsync(UserOrganizationRequest request) { var entity = _mapper.Map <UserOrganizationRequest, UserOrganization>(request); var result = false; var CreatedEntity = await _uow.UserOrganizationRepository.CreateAsync(entity); result = await _uow.SaveAsync(); if (!result) { return(null); } if (entity == null) { return(null); } var dto = _mapper.Map <UserOrganization, UserOrganizationDto>(entity); return(dto); }
private static RequestBodyBuilder PopulateRequestParameters(UserOrganizationRequest org, RequestTypes requestType) { org.EnsureValidData(requestType); var parameters = new RequestBodyBuilder(); parameters.AppendRequestData("name", org.Name); parameters.AppendRequestData("organizationtype", EnumUtility.ToApiString(org.OrganizationType)); if (!string.IsNullOrEmpty(org.Address)) { parameters.AppendRequestData("address", org.Address); } if (!string.IsNullOrEmpty(org.City)) { parameters.AppendRequestData("city", org.City); } if (!string.IsNullOrEmpty(org.State)) { parameters.AppendRequestData("state", org.State); } if (!string.IsNullOrEmpty(org.PostalCode)) { parameters.AppendRequestData("postalcode", org.PostalCode); } if (!string.IsNullOrEmpty(org.Country)) { parameters.AppendRequestData("country", org.Country); } if (!string.IsNullOrEmpty(org.Phone)) { parameters.AppendRequestData("phone", org.Phone); } if (!string.IsNullOrEmpty(org.Fax)) { parameters.AppendRequestData("fax", org.Fax); } if (!string.IsNullOrEmpty(org.Website)) { parameters.AppendRequestData("website", org.Website); } if (org.SlaPlanId != null) { parameters.AppendRequestData("slaplanid", org.SlaPlanId); } if (org.SlaPlanExpiry != null) { parameters.AppendRequestData("slaplanexpiry", org.SlaPlanExpiry); } return(parameters); }
public void CreateUpdateDeleteUserOrganization() { var dummyData = this.TestData; var createdUserOrg = TestSetup.KayakoApiService.Users.CreateUserOrganization(UserOrganizationRequest.FromResponseData(dummyData)); Assert.IsNotNull(createdUserOrg); dummyData.Id = createdUserOrg.Id; dummyData.Address = "UPDATED: Test Address String"; dummyData.City = "UPDATED: City String"; dummyData.Country = "UPDATED: Country String"; dummyData.Fax = "05555666444"; dummyData.Name = "UPDATED: Name"; dummyData.OrganizationType = UserOrganizationType.Shared; dummyData.Phone = "02223334455"; dummyData.PostalCode = "BS8 1UB"; dummyData.SlaPlanExpiry = UnixTimeUtility.ToUnixTime(DateTime.Now); dummyData.SlaPlanId = 1; dummyData.State = "UPDATED: State String"; dummyData.Website = "http://wwww.test.com"; var updatedUserOrg = TestSetup.KayakoApiService.Users.UpdateUserOrganization(UserOrganizationRequest.FromResponseData(dummyData)); dummyData.Dateline = updatedUserOrg.Dateline; dummyData.LastUpdated = updatedUserOrg.LastUpdated; Assert.IsNotNull(updatedUserOrg); this.CompareUserOrganizations(dummyData, updatedUserOrg); var success = TestSetup.KayakoApiService.Users.DeleteUserOrganization(updatedUserOrg.Id); Assert.IsTrue(success); }