Exemplo n.º 1
0
        /// <summary>
        /// Rate - set Multiply Rate from Divide Rate and vice versa
        /// </summary>
        /// <param name="ctx">context</param>
        /// <param name="windowNo">window no</param>
        /// <param name="tab">tab</param>
        /// <param name="field">field</param>
        /// <param name="value">value</param>
        /// <returns>null or error message</returns>
        public String Rate(Ctx ctx, int windowNo, GridTab tab, GridField field, Object value)
        {
            if (IsCalloutActive() || value == null)             //	assuming it is Conversion_Rate
            {
                return("");
            }
            SetCalloutActive(true);

            Decimal rate1 = (Decimal)value;
            Decimal rate2 = Utility.Env.ZERO;
            Decimal one   = new Decimal(1.0);

            if (System.Convert.ToDouble(rate1) != 0.0)  //	no divide by zero
            {
                rate2 = Decimal.Round(Decimal.Divide(one, rate1), 12, MidpointRounding.AwayFromZero);
            }
            //
            if (field.GetColumnName().Equals("MultiplyRate"))
            {
                tab.SetValue("DivideRate", rate2);
            }
            else
            {
                tab.SetValue("MultiplyRate", rate2);
            }
            log.Info(field.GetColumnName() + "=" + rate1 + " => " + rate2);
            SetCalloutActive(false);
            return("");
        }
 protected override void InitializeControls()
 {
     base.InitializeControls();
     UpdateMainControlLayout();
     UpdateRightControlLayout();
     UpdateDetailsTabPanel();
     UpdateGridTabPanel();
     UpdateGridTab();
     UpdateGrid();
     UpdateLeftControlLayout();
     UpdateFilterEditLayout();
     UpdateApplyToolButton();
     UpdateSaveToolButton();
     UpdateFolderLayout();
     TopLevelControl.MoveItem(0, BaseMessagePanel);
     TopLevelControl.MoveItem(1, MainControlLayout);
     MainControlLayout.MoveItem(0, LeftControlLayout);
     LeftControlLayout.MoveItem(0, CustomSearchContainer);
     LeftControlLayout.MoveItem(1, FolderLayout);
     FolderLayout.MoveItem(0, BaseFolder);
     LeftControlLayout.MoveItem(2, FilterEditLayout);
     FilterEditLayout.MoveItem(0, FilterEdit);
     FilterEdit.MoveItem(0, SaveToolButton);
     FilterEdit.MoveItem(1, ApplyToolButton);
     MainControlLayout.MoveItem(1, RightControlLayout);
     RightControlLayout.MoveItem(0, GridTabPanel);
     GridTabPanel.MoveItem(0, GridTab);
     GridTab.MoveItem(0, Grid);
     RightControlLayout.MoveItem(1, DetailsTabPanel);
     SetControlsDefInheritance(UId);
     InitializeLocalizableValues();
 }
Exemplo n.º 3
0
 /**
  *	Invoice Line - Charge.
  *      - updates PriceActual from Charge
  *      - sets PriceLimit, PriceList to zero
  *  Calles tax
  *	@param ctx context
  *	@param WindowNo window no
  *	@param mTab tab
  *	@param mField field
  *	@param value value
  *	@return null or error message
  */
 public String Invalidate(Ctx ctx, int WindowNo, GridTab mTab, GridField mField, Object value)
 {
     //	Summary ?
     if (mTab.GetValue("IsSummary") != null)
     {
         mTab.SetValue("IsValid", false);
         return("");
     }
     return("");
 }       //	charge
Exemplo n.º 4
0
 /// <summary>
 /// Set Account Date to the date of the calling column.
 /// </summary>
 /// <param name="ctx">context</param>
 /// <param name="windowNo">window no</param>
 /// <param name="tab">tab</param>
 /// <param name="field">field</param>
 /// <param name="value">value</param>
 /// <returns>null or error message</returns>
 public String DateAcct(Ctx ctx, int windowNo, GridTab tab, GridField field, Object value)
 {
     if (IsCalloutActive())              //	assuming it is resetting value
     {
         return("");
     }
     //	setCalloutActive(true);
     if (value == null || !(value.GetType() == typeof(DateTime)))
     {
         return("");
     }
     tab.SetValue("DateAcct", value);
     //	setCalloutActive(false);
     return("");
 }
 protected override void InitializeControls()
 {
     base.InitializeControls();
     UpdateMainControlLayout();
     UpdateRightControlLayout();
     UpdateDetailsTabPanel();
     UpdateGridTabPanel();
     UpdateGridTab();
     UpdateCheckMenuItemAdministratedByOperations();
     UpdateCheckMenuItemAdministratedByColumns();
     UpdateCheckMenuItemAdministratedByRecords();
     UpdateCheckMenuItemLookup();
     UpdateMenuSeparator();
     UpdateCheckMenuItemModule();
     UpdateCheckMenuItemAll();
     UpdateLeftControlLayout();
     UpdateFilterEditLayout();
     UpdateApplyToolButton();
     UpdateSaveToolButton();
     UpdateFolderLayout();
     TopLevelControl.MoveItem(0, BaseMessagePanel);
     TopLevelControl.MoveItem(1, MainControlLayout);
     MainControlLayout.MoveItem(0, LeftControlLayout);
     LeftControlLayout.MoveItem(0, CustomSearchContainer);
     LeftControlLayout.MoveItem(1, FolderLayout);
     FolderLayout.MoveItem(0, BaseFolder);
     LeftControlLayout.MoveItem(2, FilterEditLayout);
     FilterEditLayout.MoveItem(0, FilterEdit);
     FilterEdit.MoveItem(0, SaveToolButton);
     FilterEdit.MoveItem(1, ApplyToolButton);
     MainControlLayout.MoveItem(1, RightControlLayout);
     RightControlLayout.MoveItem(0, GridTabPanel);
     GridTabPanel.MoveItem(0, GridTab);
     GridTab.MoveItem(0, Grid);
     GridTab.MoveItem(0, CheckMenuItemAll);
     GridTab.MoveItem(1, CheckMenuItemModule);
     GridTab.MoveItem(2, MenuSeparator);
     GridTab.MoveItem(3, CheckMenuItemLookup);
     GridTab.MoveItem(4, CheckMenuItemAdministratedByRecords);
     GridTab.MoveItem(5, CheckMenuItemAdministratedByColumns);
     GridTab.MoveItem(6, CheckMenuItemAdministratedByOperations);
     GridTab.InsertItem(7, CreateCheckMenuItemIsInSSPEntitySchemaAccessList());
     RightControlLayout.MoveItem(1, DetailsTabPanel);
     SetControlsDefInheritance(UId);
     InitializeLocalizableValues();
 }
Exemplo n.º 6
0
        /// <summary>
        /// Start Callout.
        ///	Callout's are used for cross field validation and setting values in other fields
        ///	when returning a non empty (error message) string, an exception is raised
        ///	When invoked, the Tab model has the new value!
        /// </summary>
        /// <param name="ctx">context</param>
        /// <param name="methodName">method name</param>
        /// <param name="windowNo">current window number</param>
        /// <param name="tab">model Tab</param>
        /// <param name="field">modal field</param>
        /// <param name="newValue">new value</param>
        /// <param name="oldValue">old value</param>
        /// <returns>Error message or ""</returns>
        public String Start(Ctx ctx, String methodName, int windowNo, GridTab tab,
                            GridField field, Object newValue, Object oldValue)
        {
            if (methodName == null || methodName.Length == 0)
            {
                throw new ArgumentException("No Method Name");
            }
            //
            String        retValue = "";
            StringBuilder msg      = new StringBuilder(methodName).Append(" - ")
                                     .Append(field.GetColumnName())
                                     .Append("=").Append(newValue)
                                     .Append(" (old=").Append(oldValue)
                                     .Append(") {active=").Append(IsCalloutActive()).Append("}");

            if (!IsCalloutActive())
            {
                log.Info(msg.ToString());
            }

            //	Find Method
            MethodInfo method = GetMethod(methodName);

            if (method == null)
            {
                throw new ArgumentException("Method not found: " + methodName);
            }
            int argLength = method.GetParameters().Length;

            if (!(argLength == 5 || argLength == 6))
            {
                throw new ArgumentException("Method " + methodName + " has invalid no of arguments: " + argLength);
            }

            //	Call Method
            try
            {
                Object[] args = null;
                if (argLength == 6)
                {
                    args = new Object[] { ctx, windowNo, tab, field, newValue, oldValue }
                }
                ;
                else
                {
                    args = new Object[] { ctx, windowNo, tab, field, newValue }
                };
                retValue = (String)method.Invoke(this, args);
            }
            catch (Exception e)
            {
                SetCalloutActive(false);
                //Throwable ex = e.getCause();	//	InvocationTargetException
                //if (ex == null)
                //    ex = e;
                ////log.log(Level.SEVERE, "start: " + methodName, ex);
                //ex.printStackTrace(System.err);
                //retValue = ex.getLocalizedMessage();

                retValue = e.Message;
            }
            return(retValue);
        }
        /// <summary>
        ///Get Tab data and create MTab(s)
        /// </summary>
        /// <returns></returns>
        private bool LoadTabData()
        {
            log.Config("");

            if (_vo.GetTabs() == null)
            {
                return(false);
            }

            for (int t = 0; t < _vo.GetTabs().Count; t++)
            {
                GridTabVO mTabVO = _vo.GetTabs()[t];
                if (mTabVO != null)
                {
                    int onlyCurrentDays = 0;
                    if (t == 0 && IsTransaction())
                    {
                        onlyCurrentDays = 1;
                    }
                    GridTab mTab = new GridTab(mTabVO, onlyCurrentDays, _vo);
                    mTabVO.GetCtx().SetContext(mTabVO.windowNo, mTabVO.tabNo,
                                               "KeyColumnName", mTab.GetKeyColumnName());
                    //	Set Link Column
                    if (mTab.GetLinkColumnName().Length == 0)
                    {
                        List <String> parents = mTab.GetParentColumnNames();
                        //	No Parent - no link
                        if (parents.Count == 0)
                        {
                            ;
                        }
                        //	Standard case
                        else if (parents.Count == 1)
                        {
                            mTab.SetLinkColumnName(parents[0]);
                        }
                        else
                        {
                            //	More than one parent.
                            //	Search prior tabs for the "right parent"
                            //	for all previous tabs
                            for (int i = 0; i < _tabs.Count; i++)
                            {
                                //	we have a tab
                                GridTab tab    = _tabs[i];
                                String  tabKey = tab.GetKeyColumnName();        //	may be ""
                                //	look, if one of our parents is the key of that tab
                                for (int j = 0; j < parents.Count; j++)
                                {
                                    String parent = parents[j];
                                    if (parent.Equals(tabKey))
                                    {
                                        mTab.SetLinkColumnName(parent);
                                        break;
                                    }
                                    //	The tab could have more than one key, look into their parents
                                    if (tabKey.Equals(""))
                                    {
                                        for (int k = 0; k < tab.GetParentColumnNames().Count; k++)
                                        {
                                            if (parent.Equals(tab.GetParentColumnNames()[k]))
                                            {
                                                mTab.SetLinkColumnName(parent);
                                                break;
                                            }
                                        }
                                    }
                                }                 //	for all parents
                            }                     //	for all previous tabs
                        }                         //	parents.size > 1
                    }                             //	set Link column
                    mTab.SetLinkColumnName(null); //	overwrites, if AD_Column_ID exists
                    //
                    _tabs.Add(mTab);
                }
            }   //  for all tabs
            LogAccess();
            return(true);
        }       //	loadTabData