public IRestResponse Update(string id, UpdateContentDto contentForUpdate)
        {
            var request = new RestRequest($"{AdminContentApiUrl}/{id}");

            request.AddJsonBody(contentForUpdate);

            return(_restClient.Put(request));
        }
        static void Main(string[] args)
        {
            var services = GetConfiguredServices();

            Parser.Default.ParseArguments <PublishOptions, UpdateOptions, DeleteOptions>(args)
            .MapResult(
                (PublishOptions publishOptions) => {
                var contentService = services.GetService <IAdminContentService>();

                var publishRequest = new PublishContentDto()
                {
                    Id       = publishOptions.Id,
                    Title    = publishOptions.Title,
                    Url      = publishOptions.Url,
                    Summary  = publishOptions.Summary,
                    ImageUrl = publishOptions.ImageUrl,
                    Format   = publishOptions.Format,
                    Hidden   = publishOptions.Hidden
                };

                var result = contentService.Publish(publishRequest);

                if (result.StatusCode == HttpStatusCode.NoContent)
                {
                    Console.WriteLine("Published content successfully!");
                }
                else
                {
                    Console.WriteLine($"Error publishing content: Status Message -- {result.StatusDescription}, Message -- {result.Content}");
                }

                return(0);
            },
                (UpdateOptions updateOptions) => {
                var contentService = services.GetService <IAdminContentService>();

                var updateRequest = new UpdateContentDto()
                {
                    Title    = updateOptions.Title,
                    Url      = updateOptions.Url,
                    Summary  = updateOptions.Summary,
                    ImageUrl = updateOptions.ImageUrl,
                    Format   = updateOptions.Format,
                    Hidden   = updateOptions.Hidden
                };

                var result = contentService.Update(updateOptions.Id, updateRequest);

                if (result.StatusCode == HttpStatusCode.NoContent)
                {
                    Console.WriteLine("Updated content successfully!");
                }
                else
                {
                    Console.WriteLine($"Error publishing content: Status Message -- {result.StatusDescription}, Message -- {result.Content}");
                }

                return(0);
            },
                (DeleteOptions deleteOptions) => {
                var contentService = services.GetService <IAdminContentService>();

                var result = contentService.Delete(deleteOptions.Id);

                if (result.StatusCode == HttpStatusCode.NoContent)
                {
                    Console.WriteLine("Deleted content successfully!");
                }
                else
                {
                    Console.WriteLine($"Error publishing content: Status Message -- {result.StatusDescription}, Message -- {result.Content}");
                }

                return(0);
            },
                err => 1
                );
        }