Ejemplo n.º 1
0
        public ZCRMInventoryLineItem GetZCRMInventoryLineItem(JObject lineItemJSON)
        {
            JObject productDetails         = (JObject)lineItemJSON["product"];
            long    lineItemId             = Convert.ToInt64(lineItemJSON["id"]);
            ZCRMInventoryLineItem lineItem = ZCRMInventoryLineItem.GetInstance(lineItemId);

            ZCRMRecord product = ZCRMRecord.GetInstance("Products", Convert.ToInt64(productDetails["id"]));

            product.LookupLabel         = (string)productDetails["name"];
            lineItem.Product            = product;
            lineItem.Description        = (string)lineItemJSON["product_description"];
            lineItem.Quantity           = Convert.ToDouble(lineItemJSON["quantity"]);
            lineItem.ListPrice          = Convert.ToDouble(lineItemJSON["list_price"]);
            lineItem.UnitPrice          = Convert.ToDouble(lineItemJSON["unit_price"]);
            lineItem.Total              = Convert.ToDouble(lineItemJSON["total"]);
            lineItem.Discount           = Convert.ToDouble(lineItemJSON["Discount"]);
            lineItem.TotalAfterDiscount = Convert.ToDouble(lineItemJSON["tota_after_discount"]);
            lineItem.TaxAmount          = Convert.ToDouble(lineItemJSON["Tax"]);
            JArray lineTaxes = (JArray)lineItemJSON["line_tax"];

            foreach (JObject lineTax in lineTaxes)
            {
                ZCRMTax tax = ZCRMTax.GetInstance((string)lineTax["name"]);
                tax.Percentage = Convert.ToDouble(lineTax["percentage"]);
                tax.Value      = Convert.ToDouble(lineTax["value"]);
                lineItem.AddLineTax(tax);
            }
            lineItem.NetTotal = Convert.ToDouble(lineItemJSON["net_total"]);
            return(lineItem);
        }
Ejemplo n.º 2
0
        public ZCRMInventoryLineItem GetZCRMInventoryLineItem(JObject lineItemJSON)
        {
            JObject productDetails = (JObject)lineItemJSON["product"];

            long lineItemId = Convert.ToInt64(lineItemJSON["id"]);

            ZCRMInventoryLineItem lineItem = ZCRMInventoryLineItem.GetInstance(lineItemId);

            ZCRMRecord product = ZCRMRecord.GetInstance("Products", Convert.ToInt64(productDetails["id"]));

            product.LookupLabel = (string)productDetails["name"];

            if (productDetails.ContainsKey("Product_Code") && productDetails["Product_Code"].Type != JTokenType.Null)
            {
                product.SetFieldValue("Product_Code", (string)productDetails["name"]);
            }

            lineItem.Product = product;

            lineItem.Quantity = Convert.ToDouble(lineItemJSON["quantity"]);

            lineItem.Discount = Convert.ToDouble(lineItemJSON["Discount"]);

            lineItem.TotalAfterDiscount = Convert.ToDouble(lineItemJSON["total_after_discount"]);

            lineItem.NetTotal = Convert.ToDouble(lineItemJSON["net_total"]);

            lineItem.TaxAmount = Convert.ToDouble(lineItemJSON["Tax"]);

            lineItem.ListPrice = Convert.ToDouble(lineItemJSON["list_price"]);

            if (lineItemJSON.ContainsKey("unit_price") && lineItemJSON["unit_price"].Type != JTokenType.Null)
            {
                lineItem.UnitPrice = Convert.ToDouble(lineItemJSON["unit_price"]);
            }

            lineItem.QuantityInStock = Convert.ToInt32(lineItemJSON["quantity_in_stock"]);

            lineItem.Total = Convert.ToDouble(lineItemJSON["total"]);

            lineItem.Description = (string)lineItemJSON["product_description"];

            JArray lineTaxes = (JArray)lineItemJSON["line_tax"];

            foreach (JObject lineTax in lineTaxes)
            {
                ZCRMTax tax = ZCRMTax.GetInstance((string)lineTax["name"]);

                tax.Percentage = Convert.ToDouble(lineTax["percentage"]);

                tax.Value = Convert.ToDouble(lineTax["value"]);

                lineItem.AddLineTax(tax);
            }

            return(lineItem);
        }
        private JObject GetZCRMInventoryLineItemAsJSON(ZCRMInventoryLineItem inventoryLineItem)
        {
            JObject lineItem = new JObject();

            if (inventoryLineItem.Id != null)
            {
                lineItem.Add("id", inventoryLineItem.Id.ToString());
            }

            if (inventoryLineItem.Product != null)
            {
                lineItem.Add("product", inventoryLineItem.Product.EntityId);
            }

            lineItem.Add("product_description", inventoryLineItem.Description);

            lineItem.Add("list_price", inventoryLineItem.ListPrice);

            lineItem.Add("quantity", inventoryLineItem.Quantity);

            if (inventoryLineItem.DiscountPercentage == null || inventoryLineItem.DiscountPercentage == 0)
            {
                lineItem.Add("Discount", inventoryLineItem.Discount);
            }
            else
            {
                lineItem.Add("Discount", inventoryLineItem.DiscountPercentage + "%");
            }

            JArray lineTaxArray = new JArray();

            List <ZCRMTax> taxes = inventoryLineItem.LineTax;

            foreach (ZCRMTax tax in taxes)
            {
                JObject lineTax = new JObject();

                lineTax.Add("name", tax.TaxName);

                lineTax.Add("value", tax.Value);

                lineTax.Add("percentage", tax.Percentage);

                lineTaxArray.Add(lineTax);
            }

            if (lineTaxArray.Count > 0)
            {
                lineItem.Add("line_tax", lineTaxArray);
            }

            return(lineItem);
        }