public static void Log_To_Console(Submit_Supplier_Invoice_RequestType SSIR)
        {
            WorkDay_Resourse_ManagementEntities1 GlobalEntity = new WorkDay_Resourse_ManagementEntities1();

            GlobalEntity.Invoice_Delivery_Log.Add(new Invoice_Delivery_Log
            {
                Supplier_Name   = SSIR.Supplier_Invoice_Data.Suppliers_Invoice_Number,
                Status          = "Failed",
                Sender_Email    = "",
                Supplier_ID     = "",
                Error_Detail    = "",
                File_Name       = "",
                Bill_To         = "",
                Amount          = 0,
                Processing_Time = DateTime.UtcNow,
            });

            //    GlobalEntity.add
            //  GlobalEntity.SaveChanges();

            Console.WriteLine("Suppliers_Invoice_Number:" + SSIR.Supplier_Invoice_Data.Suppliers_Invoice_Number);
            Console.WriteLine("Invoice_Date  :" + SSIR.Supplier_Invoice_Data.Invoice_Date);

            Console.WriteLine("Payment_Terms_Reference  :" + SSIR.Supplier_Invoice_Data.Payment_Terms_Reference.ID[0].Value);


            Console.WriteLine("Currency_Reference :" + SSIR.Supplier_Invoice_Data.Currency_Reference.ID[0].Value);

            Console.WriteLine("Company_Reference :" + SSIR.Supplier_Invoice_Data.Company_Reference.ID[0].Value);
            Console.WriteLine("Employee :" + SSIR.Supplier_Invoice_Data.Approver_Reference.ID[0].Value);


            Console.WriteLine("MEMO  :" + SSIR.Supplier_Invoice_Data.Memo);


            Console.WriteLine("Invoice recive date:  Db Credentail issue");

            Console.WriteLine("Due_Date_Override :" + SSIR.Supplier_Invoice_Data.Due_Date_Override);

            Console.WriteLine("Control_Amount_Total  :" + SSIR.Supplier_Invoice_Data.Control_Amount_Total);
            foreach (var item in SSIR.Supplier_Invoice_Data.Invoice_Line_Replacement_Data.Select((value, i) => new { i, value }))
            {
                Console.WriteLine("Line_NO:" + (item.i).ToString());
                Console.WriteLine("**************************************************************");

                Console.WriteLine("Extended Amount:" + item.value.Extended_Amount);
                Console.WriteLine("Spend_Catagories: " + item.value.Spend_Category_Reference.ID[0].Value);
                Console.WriteLine("Cost_Centre: " + item.value.Worktags_Reference[0].ID[0].Value);
                Console.WriteLine("Item_Description: " + item.value.Item_Description);
            }
        }
        public static void Process_Invoce_Request(Resource_ManagementPortClient RCM, InvoiceModel invoicemodel)
        {
            Submit_Supplier_Invoice_RequestType SSIR = new Submit_Supplier_Invoice_RequestType();

            //Console.WriteLine("Taking Dicession based on OCR_PO_Number");

            if (string.IsNullOrEmpty(invoicemodel.OCR_PO_Number))
            {
                Console.WriteLine("***NON_PO_INVOICE***");
                SSIR.Supplier_Invoice_Data = process_NON_PO_Invoice(invoicemodel);
            }
            else
            {
                Console.WriteLine("PO invoice,with OCR_PO_Number in XML:  " + invoicemodel.OCR_PO_Number);
                SSIR.Supplier_Invoice_Data = process_po_Invoice(invoicemodel);
                Console.WriteLine("Ready to Push to WorkDay");
            }
            SSIR.Business_Process_Parameters = new Financials_Business_Process_ParametersType()
            {
                Auto_Complete = false
            };
            SSIR.Add_Only = true;
            //  SSIR.version = "33.1";


            try
            {
                Log_To_Console(SSIR);

                var objres = RCM.Submit_Supplier_Invoice(SSIR);
                Console.WriteLine("Success with WorkDay ID :- " + objres.Supplier_Invoice_Reference.ID[0].Value);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }