/// <summary>
        /// Puts the phone channel by source.
        /// </summary>
        /// <param name="sourceId">The source identifier.</param>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        protected IActionResult PutPhoneChannelBySource(string sourceId, IVmOpenApiPhoneChannelInVersionBase request)
        {
            if (request == null)
            {
                ModelState.AddModelError("RequestIsNull", CoreMessages.OpenApi.RequestIsNull);
                return(new BadRequestObjectResult(ModelState));
            }

            var vmBase    = request.VersionBase() as VmOpenApiPhoneChannelInVersionBase;
            var validator = new PhoneChannelValidator(vmBase, commonService, codeService, serviceService);

            return(PutServiceChannel(vmBase, validator, "Phone", sourceId: sourceId));
        }
        /// <summary>
        /// Posts the phone channel base.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        protected IActionResult PostPhoneChannel(IVmOpenApiPhoneChannelInVersionBase request)
        {
            if (request == null)
            {
                ModelState.AddModelError("RequestIsNull", CoreMessages.OpenApi.RequestIsNull);
                return(new BadRequestObjectResult(ModelState));
            }

            // Validate the items
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            var vmBase    = request.VersionBase() as VmOpenApiPhoneChannelInVersionBase;
            var validator = new PhoneChannelValidator(vmBase, commonService, codeService, serviceService);

            return(PostServiceChannel(vmBase, validator));
        }