Exemple #1
0
        public static Xero.Api.Core.Model.Invoice getXeroInvoice(string invoicexeroid)
        {
            XeroCoreApi xeroapp = getxeroapp();

            Xero.Api.Core.Model.Invoice Xinvoice = xeroapp.Invoices.Find(new Guid(invoicexeroid));
            return(Xinvoice);
        }
Exemple #2
0
        public static string updateorcreatexeroinvoice(InvoiceReadOnly Uinvoice, string clientxeroid)
        {
            XeroCoreApi xeroapp = getxeroapp();

            Xero.Api.Core.Model.Invoice Xinvoice = new Xero.Api.Core.Model.Invoice();
            Xinvoice.Number = Uinvoice.Number;
            Xero.Api.Core.Model.Contact Xcontact = xeroapp.Contacts.Find(new Guid(clientxeroid));
            Xinvoice.Contact         = Xcontact;
            Xinvoice.Date            = Convert.ToDateTime(Uinvoice.CreatedDate);
            Xinvoice.Type            = Xero.Api.Core.Model.Types.InvoiceType.AccountsReceivable;
            Xinvoice.LineAmountTypes = Xero.Api.Core.Model.Types.LineAmountType.Inclusive;
            Xinvoice.Status          = Xero.Api.Core.Model.Status.InvoiceStatus.Authorised;
            Xinvoice.DueDate         = Convert.ToDateTime(Uinvoice.DueDate);
            List <LineItem> Xiilist = new List <LineItem>();

            foreach (InvoiceItemReadOnly uii in Uinvoice.Items)
            {
                Xero.Api.Core.Model.LineItem xii = new Xero.Api.Core.Model.LineItem();
                xii.Quantity    = Convert.ToDecimal(uii.Quantity);
                xii.Description = uii.Label;
                xii.UnitAmount  = Convert.ToDecimal(uii.Price);
                xii.LineAmount  = Convert.ToDecimal(uii.Total);
                xii.AccountCode = "200";
                Xiilist.Add(xii);
            }
            Xinvoice.LineItems = Xiilist;
            Xero.Api.Core.Model.Invoice Xinvoicereturned = xeroapp.Update(Xinvoice);

            UnmsInvoice      UXinvoice        = new UnmsInvoice();
            InvoiceAttribute newUcrmAttribute = new InvoiceAttribute()
            {
                CustomAttributeId = UNMSHelper.getcustomattributeid("xeroIdinvoice"),
                Value             = Xinvoicereturned.Id.ToString()
            };
            List <InvoiceAttribute> newlistattributes = new List <InvoiceAttribute>();

            newlistattributes.Add(newUcrmAttribute);
            UXinvoice.attributes = newlistattributes;

            HTTPHelper.httpPatch("invoices" + "/" + Uinvoice.Id, UXinvoice);
            return(Xinvoice.Id.ToString());
        }