using System;
using System.IO;
using Aspose.Pdf.Cloud.Sdk.Api;
using Aspose.Pdf.Cloud.Sdk.Model;
using System.Collections.Generic;

namespace Aspose.PDF.Cloud.Examples.Kb
{
    public class PdfTasks
    {
        public static void DrawCircle()
        {
            PdfApi pdfApi = new PdfApi("API_KEY", "APP_SID"); // For adding a circle
            CircleAnnotation circleAnnotation = new CircleAnnotation(
                   Rect: new Rectangle(50, 50, 100, 100),
                Color: new Color(255, 255, 0, 0)
                );

            circleAnnotation.Modified = "09/28/2024 12:00:00.000 AM";
            circleAnnotation.CreationDate = "09/28/2024 12:00:00.00 AM";
            try
            {
                FilesUploadResult result = pdfApi.UploadFile("input.pdf", new MemoryStream(File.ReadAllBytes("input.pdf")));
                AsposeResponse apiResponse = pdfApi.PostPageCircleAnnotations(
                    "input.pdf", 1, new List<CircleAnnotation>() { circleAnnotation });
                if (apiResponse.Status == "OK")
                {
                    // Download created pdf file
                    Stream storageRes = pdfApi.DownloadFile("input.pdf");
                    FileStream fileStream = new FileStream("output.pdf", FileMode.Create, FileAccess.Write);
                    storageRes.CopyTo(fileStream);
                }
                Console.WriteLine("Circle added!");
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
            }
        }
    }
}