Exemplo n.º 1
0
        /// <summary>
        /// GetOrderLine
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="param"></param>
        /// <returns></returns>
        public Dictionary <String, String> GetOrderLine(Ctx ctx, string param)
        {
            string[] paramValue = param.Split(',');

            Dictionary <String, String> retDic = new Dictionary <string, string>();

            //Assign parameter value
            int id;

            id = Util.GetValueOfInt(paramValue[0].ToString());
            //End Assign parameter value

            MOrderLine orderline = new MOrderLine(ctx, id, null);

            retDic["C_Tax_ID"]                  = Util.GetValueOfString(orderline.GetC_Tax_ID());
            retDic["PriceList"]                 = Util.GetValueOfString(orderline.GetPriceList());
            retDic["PriceLimit"]                = Util.GetValueOfString(orderline.GetPriceLimit());
            retDic["PriceActual"]               = Util.GetValueOfString(orderline.GetPriceActual());
            retDic["PriceEntered"]              = Util.GetValueOfString(orderline.GetPriceEntered());
            retDic["C_Currency_ID"]             = Util.GetValueOfString(orderline.GetC_Currency_ID());
            retDic["Discount"]                  = Util.GetValueOfString(orderline.GetDiscount());
            retDic["Discount"]                  = Util.GetValueOfString(orderline.GetDiscount());
            retDic["M_Product_ID"]              = Util.GetValueOfString(orderline.GetM_Product_ID());
            retDic["Qty"]                       = Util.GetValueOfString(orderline.GetQtyEntered());
            retDic["C_UOM_ID"]                  = Util.GetValueOfString(orderline.GetC_UOM_ID());
            retDic["C_BPartner_ID"]             = Util.GetValueOfString(orderline.GetC_BPartner_ID());
            retDic["PlannedHours"]              = Util.GetValueOfString(orderline.GetQtyOrdered());
            retDic["M_AttributeSetInstance_ID"] = Util.GetValueOfString(orderline.GetM_AttributeSetInstance_ID());
            retDic["QtyOrdered"]                = Util.GetValueOfString(orderline.GetQtyOrdered());
            retDic["QtyDelivered"]              = Util.GetValueOfString(orderline.GetQtyDelivered());
            retDic["QtyEntered"]                = Util.GetValueOfString(orderline.GetQtyEntered());
            retDic["C_Activity_ID"]             = Util.GetValueOfString(orderline.GetC_Activity_ID());
            retDic["C_Campaign_ID"]             = Util.GetValueOfString(orderline.GetC_Campaign_ID());
            retDic["C_Project_ID"]              = Util.GetValueOfString(orderline.GetC_Project_ID());
            retDic["C_ProjectPhase_ID"]         = Util.GetValueOfString(orderline.GetC_ProjectPhase_ID());
            retDic["C_ProjectTask_ID"]          = Util.GetValueOfString(orderline.GetC_ProjectTask_ID());
            retDic["AD_OrgTrx_ID"]              = Util.GetValueOfString(orderline.GetAD_OrgTrx_ID());
            retDic["User1_ID"]                  = Util.GetValueOfString(orderline.GetUser1_ID());
            retDic["User2_ID"]                  = Util.GetValueOfString(orderline.GetUser2_ID());
            retDic["IsReturnTrx"]               = Util.GetValueOfString(orderline.GetParent().IsReturnTrx()).ToLower();
            retDic["Orig_InOutLine_ID"]         = Util.GetValueOfString(orderline.GetOrig_InOutLine_ID());
            retDic["Orig_OrderLine_ID"]         = Util.GetValueOfString(orderline.GetOrig_OrderLine_ID());
            retDic["GetID"]                     = Util.GetValueOfString(orderline.Get_ID());

            return(retDic);
        }
Exemplo n.º 2
0
        public JsonResult GetOrderLine(string param)
        {
            string retError = "";
            string retJSON  = "";

            if (Session["ctx"] != null)
            {
                VAdvantage.Utility.Ctx ctx = Session["ctx"] as Ctx;
                string[] paramValue        = param.Split(',');

                Dictionary <String, String> retDic = new Dictionary <string, string>();

                //Assign parameter value
                int id;
                id = Util.GetValueOfInt(paramValue[0].ToString());


                MOrderLine orderline = new MOrderLine(ctx, id, null);
                //retDic["Orig_InOutLine_ID", null);
                retDic["C_Tax_ID"]      = orderline.GetC_Tax_ID().ToString();
                retDic["PriceList"]     = orderline.GetPriceList().ToString();
                retDic["PriceLimit"]    = orderline.GetPriceLimit().ToString();
                retDic["PriceActual"]   = orderline.GetPriceActual().ToString();
                retDic["PriceEntered"]  = orderline.GetPriceEntered().ToString();
                retDic["C_Currency_ID"] = orderline.GetC_Currency_ID().ToString();
                retDic["Discount"]      = orderline.GetDiscount().ToString();
                retDic["Discount"]      = orderline.GetDiscount().ToString();
                //retlst.Add(retValue);

                //retVal.Add(notReserved);


                retJSON = JsonConvert.SerializeObject(retDic);
            }
            else
            {
                retError = "Session Expired";
            }
            return(Json(new { result = retJSON, error = retError }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Get Tax Line for Order Line
        /// </summary>
        /// <param name="line">line</param>
        /// <param name="precision">currenct precision</param>
        /// <param name="oldTax">get old tax</param>
        /// <param name="trxName">transaction</param>
        /// <returns>existing or new tax</returns>
        public static MOrderTax Get(MOrderLine line, int precision, bool oldTax, Trx trxName)
        {
            MOrderTax retValue = null;

            if (line == null || line.GetC_Order_ID() == 0)
            {
                //s_log.fine("No Order");
                return(null);
            }
            int C_Tax_ID = line.GetC_Tax_ID();

            if (oldTax && line.Is_ValueChanged("C_Tax_ID"))
            {
                Object old = line.Get_ValueOld("C_Tax_ID");
                if (old == null)
                {
                    //s_log.fine("No Old Tax");
                    return(null);
                }
                C_Tax_ID = int.Parse(old.ToString());
            }
            if (C_Tax_ID == 0)
            {
                s_log.Fine("No Tax");
                return(null);
            }

            String  sql = "SELECT * FROM C_OrderTax WHERE C_Order_ID=" + line.GetC_Order_ID() + " AND C_Tax_ID=" + C_Tax_ID;
            DataSet ds  = null;

            try
            {
                ds = DataBase.DB.ExecuteDataset(sql, null, trxName);
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DataRow dr = ds.Tables[0].Rows[i];
                    retValue = new MOrderTax(line.GetCtx(), dr, trxName);
                }
                ds = null;
            }
            catch (Exception e)
            {
                s_log.Log(Level.SEVERE, sql, e);
            }

            if (retValue != null)
            {
                retValue.SetPrecision(precision);
                retValue.Set_TrxName(trxName);
                s_log.Fine("(old=" + oldTax + ") " + retValue);
                return(retValue);
            }

            //	Create New
            retValue = new MOrderTax(line.GetCtx(), 0, trxName);
            retValue.Set_TrxName(trxName);
            retValue.SetClientOrg(line);
            retValue.SetC_Order_ID(line.GetC_Order_ID());
            retValue.SetC_Tax_ID(line.GetC_Tax_ID());
            retValue.SetPrecision(precision);
            retValue.SetIsTaxIncluded(line.IsTaxIncluded());
            s_log.Fine("(new) " + retValue);
            return(retValue);
        }
        /// <summary>
        /// Get Tax Line for Order Line
        /// </summary>
        /// <param name="line">line</param>
        /// <param name="precision">currenct precision</param>
        /// <param name="oldTax">get old tax</param>
        /// <param name="trxName">transaction</param>
        /// <returns>existing or new tax</returns>
        public static MOrderTax Get(MOrderLine line, int precision, bool oldTax, Trx trxName)
        {
            MOrderTax retValue = null;

            if (line == null || line.GetC_Order_ID() == 0)
            {
                //s_log.fine("No Order");
                return(null);
            }
            int C_Tax_ID = line.GetC_Tax_ID();

            if (oldTax && line.Is_ValueChanged("C_Tax_ID"))
            {
                Object old = line.Get_ValueOld("C_Tax_ID");
                if (old == null)
                {
                    //s_log.fine("No Old Tax");
                    return(null);
                }
                C_Tax_ID = int.Parse(old.ToString());
            }
            if (C_Tax_ID == 0)
            {
                s_log.Fine("No Tax");
                return(null);
            }

            String  sql = "SELECT * FROM C_OrderTax WHERE C_Order_ID=" + line.GetC_Order_ID() + " AND C_Tax_ID=" + C_Tax_ID;
            DataSet ds  = null;

            try
            {
                ds = DataBase.DB.ExecuteDataset(sql, null, trxName);
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    DataRow dr = ds.Tables[0].Rows[i];
                    retValue = new MOrderTax(line.GetCtx(), dr, trxName);
                }
                ds = null;
            }
            catch (Exception e)
            {
                s_log.Log(Level.SEVERE, sql, e);
            }

            // JID_1303: On Order tax calculate tax according to selected pricelist. If user delete lines and change pricelist, it should check IsTaxIncluded on selected Pricelist.
            bool isTaxIncluded = Util.GetValueOfString(DB.ExecuteScalar("SELECT IsTaxIncluded FROM M_PriceList WHERE M_PriceList_ID = (SELECT M_PriceList_ID FROM C_Order WHERE C_Order_ID = "
                                                                        + line.GetC_Order_ID() + ")", null, trxName)) == "Y";

            if (retValue != null)
            {
                retValue.SetPrecision(precision);
                retValue.Set_TrxName(trxName);

                retValue.SetIsTaxIncluded(isTaxIncluded);

                s_log.Fine("(old=" + oldTax + ") " + retValue);
                return(retValue);
            }

            //	Create New
            retValue = new MOrderTax(line.GetCtx(), 0, trxName);
            retValue.Set_TrxName(trxName);
            retValue.SetClientOrg(line);
            retValue.SetC_Order_ID(line.GetC_Order_ID());
            retValue.SetC_Tax_ID(line.GetC_Tax_ID());
            retValue.SetPrecision(precision);
            retValue.SetIsTaxIncluded(line.IsTaxIncluded());
            s_log.Fine("(new) " + retValue);
            return(retValue);
        }
        /// <summary>
        /// Get Surcharge Tax Line for Order Line
        /// </summary>
        /// <param name="line">line</param>
        /// <param name="precision">currenct precision</param>
        /// <param name="oldTax">get old tax</param>
        /// <param name="trxName">transaction</param>
        /// <returns>existing or new tax</returns>
        public static MOrderTax GetSurcharge(MOrderLine line, int precision, bool oldTax, Trx trxName)
        {
            MOrderTax retValue = null;

            if (line == null || line.GetC_Order_ID() == 0)
            {
                //s_log.fine("No Order");
                return(null);
            }
            int C_Tax_ID = line.GetC_Tax_ID();

            if (oldTax && line.Is_ValueChanged("C_Tax_ID"))
            {
                Object old = line.Get_ValueOld("C_Tax_ID");
                if (old == null)
                {
                    //s_log.fine("No Old Tax");
                    return(null);
                }
                C_Tax_ID = int.Parse(old.ToString());
            }

            // Get Surcharge Tax ID from Tax selected on Line
            C_Tax_ID = Util.GetValueOfInt(DB.ExecuteScalar("SELECT Surcharge_Tax_ID FROM C_Tax WHERE C_Tax_ID = " + C_Tax_ID, null, trxName));

            if (C_Tax_ID == 0)
            {
                s_log.Fine("No Tax");
                return(null);
            }

            String  sql = "SELECT * FROM C_OrderTax WHERE C_Order_ID=" + line.GetC_Order_ID() + " AND C_Tax_ID=" + C_Tax_ID;
            DataSet ds  = null;

            try
            {
                ds = DataBase.DB.ExecuteDataset(sql, null, trxName);
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        DataRow dr = ds.Tables[0].Rows[i];
                        retValue = new MOrderTax(line.GetCtx(), dr, trxName);
                    }
                    ds = null;
                }
            }
            catch (Exception e)
            {
                s_log.Log(Level.SEVERE, sql, e);
            }

            // Get IsTaxincluded from selected PriceList on header
            bool isTaxIncluded = Util.GetValueOfString(DB.ExecuteScalar("SELECT IsTaxIncluded FROM M_PriceList WHERE M_PriceList_ID = (SELECT M_PriceList_ID FROM C_Order WHERE C_Order_ID = "
                                                                        + line.GetC_Order_ID() + ")", null, trxName)) == "Y";

            if (retValue != null)
            {
                retValue.SetPrecision(precision);
                retValue.SetIsTaxIncluded(isTaxIncluded);
                retValue.Set_TrxName(trxName);
                s_log.Fine("(old=" + oldTax + ") " + retValue);
                return(retValue);
            }

            //	Create New
            retValue = new MOrderTax(line.GetCtx(), 0, trxName);
            retValue.Set_TrxName(trxName);
            retValue.SetClientOrg(line);
            retValue.SetC_Order_ID(line.GetC_Order_ID());
            retValue.SetC_Tax_ID(C_Tax_ID);
            retValue.SetPrecision(precision);
            retValue.SetIsTaxIncluded(isTaxIncluded);
            s_log.Fine("(new) " + retValue);
            return(retValue);
        }