Exemple #1
0
        /// <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);
        }
Exemple #3
0
        /// <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());
        }
Exemple #6
0
        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));
        }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }