Ejemplo n.º 1
0
        /// <summary>
        /// Opens the Partner Find screen (or activates it in case a non-modal instance was already open and
        /// ARestrictToPartnerClasses is null). If ARestrictToPartnerClasses isn't null then the screen is opened modally.
        /// </summary>
        /// <remarks>
        /// For NUnit tests that just try to open the Partner Find screen but which don't instantiate a Main Form
        /// we need to ignore the <paramref name="AParentForm" /> Argument as it will be null in those cases!
        /// </remarks>
        /// <returns>void</returns>
        public static void FindPartnerOfClass(Form AParentForm,
            string ARestrictToPartnerClasses = null,
            TPartnerEditTabPageEnum APreferredInitialTabPage = TPartnerEditTabPageEnum.petpAddresses)
        {
            if (ARestrictToPartnerClasses == null)
            {
                // No Cursor change if run from within NUnit Test without Main Form instance...
                if (AParentForm != null)
                {
                    AParentForm.Cursor = Cursors.WaitCursor;
                }

                TPartnerFindScreen PartnerFindForm = new TPartnerFindScreen(AParentForm);
                PartnerFindForm.SetParameters(false, -1);
                PartnerFindForm.Show();

                // No Cursor change if run from within NUnit Test without Main Form instance...
                if (AParentForm != null)
                {
                    AParentForm.Cursor = Cursors.Default;
                }
            }
            else
            {
                long PartnerKey;
                string ShortName;
                TPartnerClass? PartnerClass;
                TLocationPK LocationPK;

                if (TPartnerFindScreenManager.OpenModalForm(ARestrictToPartnerClasses, out PartnerKey, out ShortName, out PartnerClass,
                        out LocationPK, AParentForm))
                {
                    // Open the Partner Edit screen
                    TFrmPartnerEdit PartnerEditForm;

                    // No Cursor change if run from within NUnit Test without Main Form instance...
                    if (AParentForm != null)
                    {
                        AParentForm.Cursor = Cursors.WaitCursor;
                    }

                    PartnerEditForm = new TFrmPartnerEdit(AParentForm);

                    if (APreferredInitialTabPage == TPartnerEditTabPageEnum.petpAddresses)
                    {
                        PartnerEditForm.SetParameters(TScreenMode.smEdit, PartnerKey, LocationPK.SiteKey, LocationPK.LocationKey);
                    }
                    else
                    {
                        PartnerEditForm.SetParameters(TScreenMode.smEdit, PartnerKey, APreferredInitialTabPage);
                    }

                    PartnerEditForm.Show();

                    if (ARestrictToPartnerClasses.Split(new Char[] { (',') })[0] == "PERSON")
                    {
                        TUserDefaults.SetDefault(TUserDefaults.USERDEFAULT_LASTPERSONPERSONNEL, PartnerKey);
                    }
                    else
                    {
                        TUserDefaults.SetDefault(TUserDefaults.USERDEFAULT_LASTPARTNERMAILROOM, PartnerKey);
                    }

                    // No Cursor change if run from within NUnit Test without Main Form instance...
                    if (AParentForm != null)
                    {
                        AParentForm.Cursor = Cursors.Default;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Opens a Modal instance of the Partner Find screen with only the Find By Bank Details tab enabled
        /// </summary>
        /// <param name="ARestrictToPartnerClasses">Pass in one or several PartnerClasses
        /// (separated by comma) to restrict the choice in the 'Partner Class' criteria
        /// ComboBox, or empty String '' to not restrict to any Partner Class.
        /// </param>
        /// <param name="APartnerKey">PartnerKey of the found Partner.</param>
        /// <param name="AShortName">Partner ShortName of the found Partner.</param>
        /// <param name="APartnerClass">Partner Class of the found Partner.</param>
        /// <param name="ABankingDetailsKey">BankingDetailsKey of the found Partner.</param>
        /// <param name="AParentForm"></param>
        /// <returns>True if a Partner was found and accepted by the user,
        /// otherwise false.</returns>
        public static bool OpenModalForm(String ARestrictToPartnerClasses,
            out Int64 APartnerKey,
            out String AShortName,
            out TPartnerClass? APartnerClass,
            out int ABankingDetailsKey,
            Form AParentForm)
        {
            AParentForm.Cursor = Cursors.WaitCursor;

            TPartnerFindScreen PartnerFindForm;
            DialogResult dlgResult;

            APartnerKey = -1;
            AShortName = String.Empty;
            APartnerClass = null;
            ABankingDetailsKey = -1;

            PartnerFindForm = new TPartnerFindScreen(AParentForm);
            PartnerFindForm.SetParameters(ARestrictToPartnerClasses, true, null);

            AParentForm.Cursor = Cursors.Default;

            dlgResult = PartnerFindForm.ShowDialog();

            if (dlgResult == System.Windows.Forms.DialogResult.OK)
            {
                PartnerFindForm.GetReturnedParameters(out APartnerKey, out AShortName, out APartnerClass,
                    out ABankingDetailsKey);

                return true;
            }
            else
            {
                return false;
            }
        }
        private void OpenPartnerFindForLocation()
        {
            TPartnerFindScreen frmPF;
            TLocationPK LocationPK;

            this.Cursor = Cursors.WaitCursor;
            LocationPK = FLogic.DetermineCurrentLocationPK();
            frmPF = new TPartnerFindScreen(FPetraUtilsObject.GetForm());
            frmPF.SetParameters(true, LocationPK.LocationKey);
            frmPF.Show();
            this.Cursor = Cursors.Default;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Manages the opening of a new/showing of an existing Instance of the Partner Find Screen.
        /// </summary>
        /// <remarks>A call to this Method will create a new Instance of the Partner Find Screen
        /// if there was no running Instance, otherwise it will just activate any Instance of
        /// the Partner Find Screen if finds.</remarks>
        /// <param name="AFormWasAlreadyOpened">False if a new Partner Find Screen was opened,
        /// false if an existing Instance of the Partner Find Screen was activated.</param>
        /// <param name="AParentForm"></param>
        /// <returns>An Instance of the Partner Find Screen (either newly created or
        /// just activated).</returns>
        public static Form OpenNewOrExistingForm(out bool AFormWasAlreadyOpened, Form AParentForm)
        {
            Form OpenFindScreen;
            Form NewFindScreen;

            AFormWasAlreadyOpened = false;

            OpenFindScreen = TFormsList.GFormsList[typeof(TPartnerFindScreen).FullName];

            if (OpenFindScreen != null)
            {
                OpenFindScreen.BringToFront();

                AFormWasAlreadyOpened = true;

                return OpenFindScreen;
            }
            else
            {
                NewFindScreen = new TPartnerFindScreen(AParentForm);
                NewFindScreen.Show();
                return NewFindScreen;
            }
        }