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

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

            return(PutServiceChannel(vmBase, validator, "Electronic", sourceId: sourceId));
        }
        /// <summary>
        /// Post electronic channel base.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        protected IActionResult PostEChannel(IVmOpenApiElectronicChannelInVersionBase 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 VmOpenApiElectronicChannelInVersionBase;
            var validator = new ElectronicChannelValidator(vmBase, commonService, codeService, serviceService);

            return(PostServiceChannel(vmBase, validator));
        }