示例#1
0
        /// <summary>
        /// Sets up the screen logic, retrieves data, databinds the Grid and the Detail
        /// UserControl.
        /// </summary>
        /// <returns>void</returns>
        public void InitialiseUserControl()
        {
            FApplicationDS = new ApplicationTDS();
            FApplicationDS.InitVars();

            // the following lines are just dummy code to remove compiler warnings as those members are never used
            if (FTabSetup == null)
            {
                FTabSetup = null;
            }

            if (FTabPageEvent == null)
            {
                FTabPageEvent = null;
            }

            ucoEvent.PetraUtilsObject     = FPetraUtilsObject;
            ucoApplicant.PetraUtilsObject = FPetraUtilsObject;
            ucoTravel.PetraUtilsObject    = FPetraUtilsObject;

            ucoEvent.MainDS     = FApplicationDS;
            ucoApplicant.MainDS = FApplicationDS;
            ucoTravel.MainDS    = FApplicationDS;

            // enable control to react to modified event or field key in details part
            ucoEvent.ApplicationEventChanged += new TDelegatePartnerChanged(ProcessApplicationEventChanged);

            // handle tab changing in case validation fails
            tabApplicationEvent.Selecting += new TabControlCancelEventHandler(TabSelectionChanging);

            // initialize delegate method on event page so it can be called from there for validation purposes
            ucoEvent.InitialiseDelegateCheckEventApplicationDuplicate(CheckEventApplicationDuplicate);
        }
        /// <summary>
        /// Sets up the screen logic, retrieves data, databinds the Grid and the Detail
        /// UserControl.
        /// </summary>
        /// <returns>void</returns>
        public void InitialiseUserControl()
        {
            FApplicationDS = new ApplicationTDS();
            FApplicationDS.InitVars();

            // the following lines are just dummy code to remove compiler warnings as those members are never used
            if (FTabSetup == null)
            {
                FTabSetup = null;
            }

            if (FTabPageEvent == null)
            {
                FTabPageEvent = null;
            }

            ucoField.PetraUtilsObject     = FPetraUtilsObject;
            ucoApplicant.PetraUtilsObject = FPetraUtilsObject;

            ucoField.MainDS     = FApplicationDS;
            ucoApplicant.MainDS = FApplicationDS;

            // enable control to react to modified event or field key in details part
            ucoField.ApplicationFieldChanged += new TDelegatePartnerChanged(ProcessApplicationFieldChanged);

            // handle tab changing in case validation fails
            tabApplicationField.Selecting += new TabControlCancelEventHandler(TabSelectionChanging);
        }
示例#3
0
        public static Boolean RemoveApplicationsFromPreviousExperience(ApplicationTDS AMainDS)
        {
            TDBTransaction Transaction  = null;
            bool           SubmissionOK = false;

            DBAccess.GDBAccessObj.BeginAutoTransaction(IsolationLevel.Serializable, ref Transaction, ref SubmissionOK,
                                                       delegate
            {
                foreach (ApplicationTDSPmShortTermApplicationRow Row in AMainDS.PmShortTermApplication.Rows)
                {
                    PmPastExperienceTable PastExperienceTable = PmPastExperienceAccess.LoadByUniqueKey(
                        Row.PartnerKey, Row.EventEndDate, Row.EventStartDate, Row.ConfirmedOptionCode, Transaction);

                    if ((PastExperienceTable != null) && (PastExperienceTable.Rows.Count > 0))
                    {
                        PastExperienceTable.Rows[0].Delete();
                        PmPastExperienceAccess.SubmitChanges(PastExperienceTable, Transaction);
                    }
                }

                SubmissionOK = true;
            });

            return(SubmissionOK);
        }
示例#4
0
        public static Boolean ConvertApplicationsToPreviousExperience(ApplicationTDS AMainDS)
        {
            TDBTransaction Transaction  = null;
            bool           SubmissionOK = false;

            DBAccess.GDBAccessObj.BeginAutoTransaction(IsolationLevel.Serializable, ref Transaction, ref SubmissionOK,
                                                       delegate
            {
                PmPastExperienceTable PastExperienceTable = new PmPastExperienceTable();

                foreach (PmShortTermApplicationRow Row in AMainDS.PmShortTermApplication.Rows)
                {
                    // create the new past experience record
                    PmPastExperienceRow PastExperienceRow = PastExperienceTable.NewRowTyped(true);
                    PastExperienceRow.Key               = Convert.ToInt64(TSequenceWebConnector.GetNextSequence(TSequenceNames.seq_past_experience));
                    PastExperienceRow.PartnerKey        = Row.PartnerKey;
                    PastExperienceRow.PrevLocation      = Row.ConfirmedOptionCode;
                    PastExperienceRow.StartDate         = Row.Arrival;
                    PastExperienceRow.EndDate           = Row.Departure;
                    PastExperienceRow.PrevWorkHere      = true;
                    PastExperienceRow.PrevWork          = true;
                    PastExperienceRow.PastExpComments   = "Created from Event Application";
                    PastExperienceRow.OtherOrganisation = "";
                    PastExperienceRow.PrevRole          = "";
                    PastExperienceTable.Rows.Add(PastExperienceRow);
                }

                PmPastExperienceAccess.SubmitChanges(PastExperienceTable, Transaction);

                SubmissionOK = true;
            });

            return(SubmissionOK);
        }
示例#5
0
        public static Boolean RemoveApplicationsFromPreviousExperience(ApplicationTDS AMainDS)
        {
            TDBTransaction Transaction  = null;
            bool           SubmissionOK = false;

            DBAccess.GDBAccessObj.BeginAutoTransaction(IsolationLevel.Serializable, ref Transaction, ref SubmissionOK,
                                                       delegate
            {
                foreach (PmShortTermApplicationRow Row in AMainDS.PmShortTermApplication.Rows)
                {
                    PmPastExperienceTable PastExperienceTable = new PmPastExperienceTable();
                    PmPastExperienceRow TempRow = PastExperienceTable.NewRowTyped(false);
                    TempRow.PartnerKey          = Row.PartnerKey;
                    TempRow.PrevLocation        = Row.ConfirmedOptionCode;
                    PastExperienceTable         = PmPastExperienceAccess.LoadUsingTemplate(TempRow, Transaction);

                    if ((PastExperienceTable != null) && (PastExperienceTable.Rows.Count > 0))
                    {
                        PastExperienceTable.Rows[0].Delete();
                        PmPastExperienceAccess.SubmitChanges(PastExperienceTable, Transaction);
                    }
                }

                SubmissionOK = true;
            });

            return(SubmissionOK);
        }
示例#6
0
        public static Boolean LoadLongTermApplications(ref ApplicationTDS AMainDS, long ATargetFieldKey, long APlacementPersonKey)
        {
            ApplicationTDS MainDS                   = new ApplicationTDS();
            String         GenAppTableName          = AMainDS.PmGeneralApplication.TableName;
            string         QueryLongTermApplication = "";

            List <OdbcParameter> Parameters = new List <OdbcParameter>();
            OdbcParameter        Parameter1 = new OdbcParameter(
                "targetfieldkey", OdbcType.BigInt, PmGeneralApplicationTable.GetGenAppPossSrvUnitKeyLength());
            OdbcParameter Parameter2 = new OdbcParameter(
                "Placementpersonkey", OdbcType.BigInt, PmGeneralApplicationTable.GetPlacementPartnerKeyLength());

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
                                                                      ref Transaction,
                                                                      delegate
            {
                QueryLongTermApplication =
                    "SELECT PUB_pm_general_application.*, PUB_pm_year_program_application.*, PUB_p_partner.p_partner_short_name_c " +
                    "FROM PUB_pm_general_application, PUB_pm_year_program_application, PUB_p_partner WHERE ";

                if (ATargetFieldKey != 0)
                {
                    Parameter1.Value = ATargetFieldKey;
                    Parameters.Add(Parameter1);

                    // load all appicants with given Target Field
                    QueryLongTermApplication += "PUB_pm_general_application.pm_gen_app_poss_srv_unit_key_n = ? AND ";
                }

                if (APlacementPersonKey != 0)
                {
                    Parameter2.Value = APlacementPersonKey;
                    Parameters.Add(
                        Parameter2);

                    // load all appicants with given Placement Person
                    QueryLongTermApplication += "PUB_pm_general_application.pm_placement_partner_key_n = ? AND ";
                }

                QueryLongTermApplication += "PUB_pm_year_program_application.p_partner_key_n = PUB_pm_general_application.p_partner_key_n " +
                                            "AND PUB_pm_year_program_application.pm_application_key_i = PUB_pm_general_application.pm_application_key_i "
                                            +
                                            "AND PUB_pm_year_program_application.pm_registration_office_n = PUB_pm_general_application.pm_registration_office_n "
                                            +
                                            "AND PUB_p_partner.p_partner_key_n = PUB_pm_general_application.p_partner_key_n";

                DBAccess.GDBAccessObj.Select(MainDS,
                                             QueryLongTermApplication,
                                             GenAppTableName, Transaction, Parameters.ToArray());
            });

            AMainDS.Merge(MainDS);

            return(true);
        }
示例#7
0
        public static Boolean LoadShortTermApplications(ref ApplicationTDS AMainDS, string AOutreachCode)
        {
            Boolean NewTransaction;

            string QueryShortTermApplication = "";

            List <OdbcParameter> Parameters = new List <OdbcParameter>();
            OdbcParameter        Parameter  = new OdbcParameter("eventcode", OdbcType.VarChar, PmShortTermApplicationTable.GetConfirmedOptionCodeLength());

            TDBTransaction ReadTransaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(
                IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum,
                out NewTransaction);

            try
            {
                QueryShortTermApplication =
                    "SELECT PUB_pm_short_term_application.*, PUB_pm_general_application.*, PUB_p_partner.p_partner_short_name_c " +
                    "FROM PUB_pm_short_term_application, PUB_pm_general_application, PUB_p_partner ";

                if (AOutreachCode.Length == 0)
                {
                    // load all appicants with no event
                    QueryShortTermApplication += "WHERE PUB_pm_short_term_application.pm_confirmed_option_code_c IS NULL ";
                }
                else if (AOutreachCode.Length > 0)
                {
                    Parameter.Value = AOutreachCode.Substring(0, 5);
                    Parameters.Add(Parameter);

                    QueryShortTermApplication += "WHERE SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 1, 5) = ? ";
                }

                QueryShortTermApplication += "AND PUB_pm_general_application.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                                             "AND PUB_pm_general_application.pm_application_key_i = PUB_pm_short_term_application.pm_application_key_i "
                                             +
                                             "AND PUB_pm_general_application.pm_registration_office_n = PUB_pm_short_term_application.pm_registration_office_n "
                                             +
                                             "AND PUB_p_partner.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n";

                DBAccess.GDBAccessObj.Select(AMainDS,
                                             QueryShortTermApplication,
                                             AMainDS.PmShortTermApplication.TableName, ReadTransaction, Parameters.ToArray());
            }
            finally
            {
                if (NewTransaction)
                {
                    DBAccess.GDBAccessObj.CommitTransaction();
                    TLogging.LogAtLevel(7, "TConferenceDataReaderWebConnector.LoadShortTermApplications: commit own transaction.");
                }
            }

            return(true);
        }
示例#8
0
        public static Boolean LoadShortTermApplications(ref ApplicationTDS AMainDS, string AOutreachCode)
        {
            string         QueryShortTermApplication = "";
            ApplicationTDS MainDS = new ApplicationTDS();
            String         ShortTermAppTableName = AMainDS.PmShortTermApplication.TableName;

            List <OdbcParameter> Parameters = new List <OdbcParameter>();
            OdbcParameter        Parameter  = new OdbcParameter("eventcode", OdbcType.VarChar, PmShortTermApplicationTable.GetConfirmedOptionCodeLength());

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
                                                                      ref Transaction,
                                                                      delegate
            {
                QueryShortTermApplication =
                    "SELECT PUB_pm_short_term_application.*, PUB_pm_general_application.*, PUB_p_partner.p_partner_short_name_c " +
                    "FROM PUB_pm_short_term_application, PUB_pm_general_application, PUB_p_partner ";

                if (AOutreachCode.Length == 0)
                {
                    // load all appicants with no event
                    QueryShortTermApplication += "WHERE PUB_pm_short_term_application.pm_confirmed_option_code_c IS NULL ";
                }
                else if (AOutreachCode.Length > 0)
                {
                    Parameter.Value = AOutreachCode.Substring(0, 5);
                    Parameters.Add(
                        Parameter);

                    QueryShortTermApplication += "WHERE SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 1, 5) = ? ";
                }

                QueryShortTermApplication += "AND PUB_pm_general_application.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                                             "AND PUB_pm_general_application.pm_application_key_i = PUB_pm_short_term_application.pm_application_key_i "
                                             +
                                             "AND PUB_pm_general_application.pm_registration_office_n = PUB_pm_short_term_application.pm_registration_office_n "
                                             +
                                             "AND PUB_p_partner.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n";

                DBAccess.GDBAccessObj.Select(MainDS,
                                             QueryShortTermApplication,
                                             ShortTermAppTableName, Transaction, Parameters.ToArray());
            });

            AMainDS.Merge(MainDS);

            return(true);
        }
        private void LoadDataGrid()
        {
            FMainDS = new ApplicationTDS();

            // populate dataset
            TRemote.MPersonnel.WebConnectors.LoadLongTermApplications(ref FMainDS, FTargetFieldKey, FPlacementPersonKey);

            FMainDS.PmGeneralApplication.DefaultView.AllowNew = false;

            // sort order for grid
            DataView MyDataView = FMainDS.PmGeneralApplication.DefaultView;

            MyDataView.Sort = "p_partner_short_name_c ASC";

            grdApplications.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView);
        }
        private void LoadDataGrid(bool ABlankGrid = false)
        {
            this.Cursor = Cursors.WaitCursor;

            FMainDS = new ApplicationTDS();

            if (!ABlankGrid)
            {
                // populate dataset
                TRemote.MPersonnel.WebConnectors.LoadApplicationsForConverting(
                    ref FMainDS, rbtConvert.Checked, FOutreachCode, chkShowAllOutreaches.Checked, rbtAll.Checked, cmbEventYear.GetSelectedString());
            }

            FMainDS.PmShortTermApplication.DefaultView.AllowNew = false;

            // sort order for grid
            DataView MyDataView = FMainDS.PmShortTermApplication.DefaultView;

            if (!ABlankGrid)
            {
                MyDataView.Sort = "p_partner_short_name_c ASC";
            }

            grdApplications.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView);

            // change button text depending on what kind of opperation this will be
            if (rbtConvert.Checked)
            {
                btnConvertApplications.Text = string.Format("Convert Applications");
            }
            else
            {
                btnConvertApplications.Text = string.Format("Remove Applications");
            }

            grdApplications.SelectRowInGrid(1);
            UpdateRecordNumberDisplay();

            this.Cursor = Cursors.Default;
        }
        private void LoadDataGrid()
        {
            FMainDS = new ApplicationTDS();

            // populate dataset
            TRemote.MPersonnel.WebConnectors.LoadShortTermApplications(ref FMainDS, FOutreachCode);

            FMainDS.PmShortTermApplication.DefaultView.AllowNew = false;

            // sort order for grid
            DataView MyDataView = FMainDS.PmShortTermApplication.DefaultView;

            MyDataView.Sort = "p_partner_short_name_c ASC";

            if (!chkShowAllOutreaches.Checked && chkShowAllOutreaches.Enabled)
            {
                // filter rows so only showing applicants for selected outreach rather than the entire conference
                MyDataView.RowFilter = PmShortTermApplicationTable.GetConfirmedOptionCodeDBName() + " = " + "'" + FOutreachCode + "'";
            }

            grdApplications.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView);
        }
示例#12
0
        public static Boolean LoadApplicationsForConverting(ref ApplicationTDS AMainDS, bool AConvertTo,
            string AOutreachCode, bool AAllOutreaches, bool AAllEvents, string AYear)
        {
            string Query = string.Empty;
            ApplicationTDS MainDS = new ApplicationTDS();
            String ShortTermAppTableName = AMainDS.PmShortTermApplication.TableName;

            List <OdbcParameter>Parameters = new List <OdbcParameter>();

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(
                IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum,
                ref Transaction,
                delegate
                {
                    Query =
                        "SELECT DISTINCT PUB_pm_short_term_application.*, p_partner_location.p_date_effective_d, p_partner_location.p_date_good_until_d, PUB_pm_general_application.*, PUB_p_partner.p_partner_short_name_c "
                        +
                        "FROM PUB_pm_short_term_application, PUB_pm_general_application, PUB_p_partner, p_partner_location, p_unit " +
                        "WHERE ";

                    // if we are looking for a specific event
                    if (!AAllEvents)
                    {
                        if (AOutreachCode.Length == 0)
                        {
                            // load all appicants with no event
                            Query += "PUB_pm_short_term_application.pm_confirmed_option_code_c IS NULL " +
                                     "AND ";
                        }
                        else if (AOutreachCode.Length > 0)
                        {
                            // get all outreaches relating to an event
                            if (AAllOutreaches)
                            {
                                OdbcParameter Parameter = new OdbcParameter("eventcode", OdbcType.VarChar, 5);
                                Parameter.Value = AOutreachCode.Substring(0, 5);
                                Parameters.Add(Parameter);

                                Query += "SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 1, 5) = ? " +
                                         "AND ";
                            }
                            else
                            {
                                OdbcParameter Parameter =
                                    new OdbcParameter("eventcode", OdbcType.VarChar, PmShortTermApplicationTable.GetConfirmedOptionCodeLength());
                                Parameter.Value = AOutreachCode;
                                Parameters.Add(Parameter);

                                Query += "PUB_pm_short_term_application.pm_confirmed_option_code_c = ? " +
                                         "AND ";
                            }
                        }
                    }

                    // if year criteria has been supplied
                    if (!string.IsNullOrEmpty(AYear))
                    {
                        OdbcParameter Parameter = new OdbcParameter("year", OdbcType.VarChar, 2);
                        Parameter.Value = AYear.ToString().Substring(2, 2);
                        Parameters.Add(Parameter);

                        Query += "SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 3, 2) = ? " +
                                 "AND ";
                    }

                    Query += "PUB_pm_general_application.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                             "AND PUB_pm_general_application.pm_application_key_i = PUB_pm_short_term_application.pm_application_key_i " +
                             "AND PUB_pm_general_application.pm_registration_office_n = PUB_pm_short_term_application.pm_registration_office_n " +
                             "AND PUB_pm_general_application.pm_gen_application_status_c = 'A' " +
                             "AND PUB_p_partner.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                             "AND p_unit.p_outreach_code_c = PUB_pm_short_term_application.pm_confirmed_option_code_c " +
                             "AND p_partner_location.p_partner_key_n = p_unit.p_partner_key_n " +
                             "AND ";

                    if (AConvertTo)
                    {
                        // converting to past experience so need to make sure past experience does not already exist
                        Query += "NOT ";
                    }

                    Query += "EXISTS (SELECT * FROM pm_past_experience " +
                             "WHERE pm_past_experience.p_partner_key_n = pm_short_term_application.p_partner_key_n " +
                             "AND pm_past_experience.pm_prev_location_c = PUB_pm_short_term_application.pm_confirmed_option_code_c " +
                             "AND pm_past_experience.pm_start_date_d = p_partner_location.p_date_effective_d " +
                             "AND pm_past_experience.pm_end_date_d = p_partner_location.p_date_good_until_d)";

                    DBAccess.GDBAccessObj.Select(MainDS, Query, ShortTermAppTableName, Transaction, Parameters.ToArray());
                });

            AMainDS.Merge(MainDS);

            return true;
        }
        /// <summary>
        /// Sets up the screen logic, retrieves data, databinds the Grid and the Detail
        /// UserControl.
        /// </summary>
        /// <returns>void</returns>
        public void InitialiseUserControl()
        {
            FApplicationDS = new ApplicationTDS();
            FApplicationDS.InitVars();

            // the following lines are just dummy code to remove compiler warnings as those members are never used
            if (FTabSetup == null)
            {
                FTabSetup = null;
            }

            if (FTabPageEvent == null)
            {
                FTabPageEvent = null;
            }

            ucoField.PetraUtilsObject = FPetraUtilsObject;
            ucoApplicant.PetraUtilsObject = FPetraUtilsObject;

            ucoField.MainDS = FApplicationDS;
            ucoApplicant.MainDS = FApplicationDS;

            // enable control to react to modified event or field key in details part
            ucoField.ApplicationFieldChanged += new TDelegatePartnerChanged(ProcessApplicationFieldChanged);

            // handle tab changing in case validation fails
            tabApplicationField.Selecting += new TabControlCancelEventHandler(TabSelectionChanging);
        }
示例#14
0
        public static Boolean LoadLongTermApplications(ref ApplicationTDS AMainDS, long ATargetFieldKey, long APlacementPersonKey)
        {
            Boolean NewTransaction;

            string QueryLongTermApplication = "";

            List <OdbcParameter> Parameters = new List <OdbcParameter>();
            OdbcParameter        Parameter1 = new OdbcParameter(
                "targetfieldkey", OdbcType.BigInt, PmGeneralApplicationTable.GetGenAppPossSrvUnitKeyLength());
            OdbcParameter Parameter2 = new OdbcParameter(
                "Placementpersonkey", OdbcType.BigInt, PmGeneralApplicationTable.GetPlacementPartnerKeyLength());

            TDBTransaction ReadTransaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(
                IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum,
                out NewTransaction);

            try
            {
                QueryLongTermApplication =
                    "SELECT PUB_pm_general_application.*, PUB_pm_year_program_application.*, PUB_p_partner.p_partner_short_name_c " +
                    "FROM PUB_pm_general_application, PUB_pm_year_program_application, PUB_p_partner WHERE ";

                if (ATargetFieldKey != 0)
                {
                    Parameter1.Value = ATargetFieldKey;
                    Parameters.Add(Parameter1);

                    // load all appicants with given Target Field
                    QueryLongTermApplication += "PUB_pm_general_application.pm_gen_app_poss_srv_unit_key_n = ? AND ";
                }

                if (APlacementPersonKey != 0)
                {
                    Parameter2.Value = APlacementPersonKey;
                    Parameters.Add(Parameter2);

                    // load all appicants with given Placement Person
                    QueryLongTermApplication += "PUB_pm_general_application.pm_placement_partner_key_n = ? AND ";
                }

                QueryLongTermApplication += "PUB_pm_year_program_application.p_partner_key_n = PUB_pm_general_application.p_partner_key_n " +
                                            "AND PUB_pm_year_program_application.pm_application_key_i = PUB_pm_general_application.pm_application_key_i "
                                            +
                                            "AND PUB_pm_year_program_application.pm_registration_office_n = PUB_pm_general_application.pm_registration_office_n "
                                            +
                                            "AND PUB_p_partner.p_partner_key_n = PUB_pm_general_application.p_partner_key_n";

                DBAccess.GDBAccessObj.Select(AMainDS,
                                             QueryLongTermApplication,
                                             AMainDS.PmGeneralApplication.TableName, ReadTransaction, Parameters.ToArray());
            }
            finally
            {
                if (NewTransaction)
                {
                    DBAccess.GDBAccessObj.CommitTransaction();
                    TLogging.LogAtLevel(7, "TConferenceDataReaderWebConnector.LoadLongTermApplications: commit own transaction.");
                }
            }

            return(true);
        }
        private void LoadDataGrid()
        {
            FMainDS = new ApplicationTDS();

            // populate dataset
            TRemote.MPersonnel.WebConnectors.LoadLongTermApplications(ref FMainDS, FTargetFieldKey, FPlacementPersonKey);

            FMainDS.PmGeneralApplication.DefaultView.AllowNew = false;

            // sort order for grid
            DataView MyDataView = FMainDS.PmGeneralApplication.DefaultView;
            MyDataView.Sort = "p_partner_short_name_c ASC";

            grdApplications.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView);

            grdApplications.SelectRowInGrid(1);
        }
示例#16
0
        public static Boolean LoadApplicationsForConverting(ref ApplicationTDS AMainDS, bool AConvertTo,
                                                            string AOutreachCode, bool AAllOutreaches, bool AAllEvents, string AYear)
        {
            string         Query  = string.Empty;
            ApplicationTDS MainDS = new ApplicationTDS();
            String         ShortTermAppTableName = AMainDS.PmShortTermApplication.TableName;

            List <OdbcParameter> Parameters = new List <OdbcParameter>();

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(
                IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum,
                ref Transaction,
                delegate
            {
                Query =
                    "SELECT DISTINCT PUB_pm_short_term_application.*, PUB_pm_general_application.*, PUB_p_partner.p_partner_short_name_c "
                    +
                    "FROM PUB_pm_short_term_application, PUB_pm_general_application, PUB_p_partner, p_unit " +
                    "WHERE ";

                // if we are looking for a specific event
                if (!AAllEvents)
                {
                    if (AOutreachCode.Length == 0)
                    {
                        // load all appicants with no event
                        Query += "PUB_pm_short_term_application.pm_confirmed_option_code_c IS NULL " +
                                 "AND ";
                    }
                    else if (AOutreachCode.Length > 0)
                    {
                        // get all outreaches relating to an event
                        if (AAllOutreaches)
                        {
                            OdbcParameter Parameter = new OdbcParameter("eventcode", OdbcType.VarChar, 5);
                            Parameter.Value         = AOutreachCode.Substring(0, 5);
                            Parameters.Add(Parameter);

                            Query += "SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 1, 5) = ? " +
                                     "AND ";
                        }
                        else
                        {
                            OdbcParameter Parameter =
                                new OdbcParameter("eventcode", OdbcType.VarChar, PmShortTermApplicationTable.GetConfirmedOptionCodeLength());
                            Parameter.Value = AOutreachCode;
                            Parameters.Add(Parameter);

                            Query += "PUB_pm_short_term_application.pm_confirmed_option_code_c = ? " +
                                     "AND ";
                        }
                    }
                }

                // if year criteria has been supplied
                if (!string.IsNullOrEmpty(AYear))
                {
                    OdbcParameter Parameter = new OdbcParameter("year", OdbcType.VarChar, 2);
                    Parameter.Value         = AYear.ToString().Substring(2, 2);
                    Parameters.Add(Parameter);

                    Query += "SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 3, 2) = ? " +
                             "AND ";
                }

                Query += "PUB_pm_general_application.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                         "AND PUB_pm_general_application.pm_application_key_i = PUB_pm_short_term_application.pm_application_key_i " +
                         "AND PUB_pm_general_application.pm_registration_office_n = PUB_pm_short_term_application.pm_registration_office_n " +
                         "AND PUB_pm_general_application.pm_gen_application_status_c = 'A' " +
                         "AND PUB_p_partner.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                         "AND p_unit.p_outreach_code_c = PUB_pm_short_term_application.pm_confirmed_option_code_c " +
                         "AND ";

                if (AConvertTo)
                {
                    // converting to past experience so need to make sure past experience does not already exist
                    Query += "NOT ";
                }

                Query += "EXISTS (SELECT * FROM pm_past_experience " +
                         "WHERE pm_past_experience.p_partner_key_n = pm_short_term_application.p_partner_key_n " +
                         "AND pm_past_experience.pm_prev_location_c = PUB_pm_short_term_application.pm_confirmed_option_code_c)";

                DBAccess.GDBAccessObj.Select(MainDS, Query, ShortTermAppTableName, Transaction, Parameters.ToArray());
            });

            AMainDS.Merge(MainDS);

            return(true);
        }
示例#17
0
        public static Boolean LoadShortTermApplications(ref ApplicationTDS AMainDS, string AOutreachCode)
        {
            string QueryShortTermApplication = "";
            ApplicationTDS MainDS = new ApplicationTDS();
            String ShortTermAppTableName = AMainDS.PmShortTermApplication.TableName;

            List <OdbcParameter>Parameters = new List <OdbcParameter>();
            OdbcParameter Parameter = new OdbcParameter("eventcode", OdbcType.VarChar, PmShortTermApplicationTable.GetConfirmedOptionCodeLength());

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
                ref Transaction,
                delegate
                {
                    QueryShortTermApplication =
                        "SELECT PUB_pm_short_term_application.*, PUB_pm_general_application.*, PUB_p_partner.p_partner_short_name_c " +
                        "FROM PUB_pm_short_term_application, PUB_pm_general_application, PUB_p_partner ";

                    if (AOutreachCode.Length == 0)
                    {
                        // load all appicants with no event
                        QueryShortTermApplication += "WHERE PUB_pm_short_term_application.pm_confirmed_option_code_c IS NULL ";
                    }
                    else if (AOutreachCode.Length > 0)
                    {
                        Parameter.Value = AOutreachCode.Substring(0, 5);
                        Parameters.Add(
                            Parameter);

                        QueryShortTermApplication += "WHERE SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 1, 5) = ? ";
                    }

                    QueryShortTermApplication += "AND PUB_pm_general_application.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                                                 "AND PUB_pm_general_application.pm_application_key_i = PUB_pm_short_term_application.pm_application_key_i "
                                                 +
                                                 "AND PUB_pm_general_application.pm_registration_office_n = PUB_pm_short_term_application.pm_registration_office_n "
                                                 +
                                                 "AND PUB_p_partner.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n";

                    DBAccess.GDBAccessObj.Select(MainDS,
                        QueryShortTermApplication,
                        ShortTermAppTableName, Transaction, Parameters.ToArray());
                });

            AMainDS.Merge(MainDS);

            return true;
        }
        /// <summary>
        /// Sets up the screen logic, retrieves data, databinds the Grid and the Detail
        /// UserControl.
        /// </summary>
        /// <returns>void</returns>
        public void InitialiseUserControl()
        {
            FApplicationDS = new ApplicationTDS();
            FApplicationDS.InitVars();

            // the following lines are just dummy code to remove compiler warnings as those members are never used
            if (FTabSetup == null)
            {
                FTabSetup = null;
            }

            if (FTabPageEvent == null)
            {
                FTabPageEvent = null;
            }

            ucoEvent.PetraUtilsObject = FPetraUtilsObject;
            ucoApplicant.PetraUtilsObject = FPetraUtilsObject;
            ucoTravel.PetraUtilsObject = FPetraUtilsObject;

            ucoEvent.MainDS = FApplicationDS;
            ucoApplicant.MainDS = FApplicationDS;
            ucoTravel.MainDS = FApplicationDS;

            // enable control to react to modified event or field key in details part
            ucoEvent.ApplicationEventChanged += new TDelegatePartnerChanged(ProcessApplicationEventChanged);

            // handle tab changing in case validation fails
            tabApplicationEvent.Selecting += new TabControlCancelEventHandler(TabSelectionChanging);

            // initialize delegate method on event page so it can be called from there for validation purposes
            ucoEvent.InitialiseDelegateCheckEventApplicationDuplicate(CheckEventApplicationDuplicate);
        }
示例#19
0
        public static Boolean LoadLongTermApplications(ref ApplicationTDS AMainDS, long ATargetFieldKey, long APlacementPersonKey)
        {
            Boolean NewTransaction;

            string QueryLongTermApplication = "";

            List <OdbcParameter>Parameters = new List <OdbcParameter>();
            OdbcParameter Parameter1 = new OdbcParameter(
                "targetfieldkey", OdbcType.BigInt, PmGeneralApplicationTable.GetGenAppPossSrvUnitKeyLength());
            OdbcParameter Parameter2 = new OdbcParameter(
                "Placementpersonkey", OdbcType.BigInt, PmGeneralApplicationTable.GetPlacementPartnerKeyLength());

            TDBTransaction ReadTransaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(
                IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum,
                out NewTransaction);

            try
            {
                QueryLongTermApplication =
                    "SELECT PUB_pm_general_application.*, PUB_pm_year_program_application.*, PUB_p_partner.p_partner_short_name_c " +
                    "FROM PUB_pm_general_application, PUB_pm_year_program_application, PUB_p_partner WHERE ";

                if (ATargetFieldKey != 0)
                {
                    Parameter1.Value = ATargetFieldKey;
                    Parameters.Add(Parameter1);

                    // load all appicants with given Target Field
                    QueryLongTermApplication += "PUB_pm_general_application.pm_gen_app_poss_srv_unit_key_n = ? AND ";
                }

                if (APlacementPersonKey != 0)
                {
                    Parameter2.Value = APlacementPersonKey;
                    Parameters.Add(Parameter2);

                    // load all appicants with given Placement Person
                    QueryLongTermApplication += "PUB_pm_general_application.pm_placement_partner_key_n = ? AND ";
                }

                QueryLongTermApplication += "PUB_pm_year_program_application.p_partner_key_n = PUB_pm_general_application.p_partner_key_n " +
                                            "AND PUB_pm_year_program_application.pm_application_key_i = PUB_pm_general_application.pm_application_key_i "
                                            +
                                            "AND PUB_pm_year_program_application.pm_registration_office_n = PUB_pm_general_application.pm_registration_office_n "
                                            +
                                            "AND PUB_p_partner.p_partner_key_n = PUB_pm_general_application.p_partner_key_n";

                DBAccess.GDBAccessObj.Select(AMainDS,
                    QueryLongTermApplication,
                    AMainDS.PmGeneralApplication.TableName, ReadTransaction, Parameters.ToArray());
            }
            finally
            {
                if (NewTransaction)
                {
                    DBAccess.GDBAccessObj.CommitTransaction();
                    TLogging.LogAtLevel(7, "TConferenceDataReaderWebConnector.LoadLongTermApplications: commit own transaction.");
                }
            }

            return true;
        }
示例#20
0
        public static Boolean LoadShortTermApplications(ref ApplicationTDS AMainDS, string AOutreachCode)
        {
            Boolean NewTransaction;

            string QueryShortTermApplication = "";

            List <OdbcParameter>Parameters = new List <OdbcParameter>();
            OdbcParameter Parameter = new OdbcParameter("eventcode", OdbcType.VarChar, PmShortTermApplicationTable.GetConfirmedOptionCodeLength());

            TDBTransaction ReadTransaction = DBAccess.GDBAccessObj.GetNewOrExistingTransaction(
                IsolationLevel.ReadCommitted,
                TEnforceIsolationLevel.eilMinimum,
                out NewTransaction);

            try
            {
                QueryShortTermApplication =
                    "SELECT PUB_pm_short_term_application.*, PUB_pm_general_application.*, PUB_p_partner.p_partner_short_name_c " +
                    "FROM PUB_pm_short_term_application, PUB_pm_general_application, PUB_p_partner ";

                if (AOutreachCode.Length == 0)
                {
                    // load all appicants with no event
                    QueryShortTermApplication += "WHERE PUB_pm_short_term_application.pm_confirmed_option_code_c IS NULL ";
                }
                else if (AOutreachCode.Length > 0)
                {
                    Parameter.Value = AOutreachCode.Substring(0, 5);
                    Parameters.Add(Parameter);

                    QueryShortTermApplication += "WHERE SUBSTRING(PUB_pm_short_term_application.pm_confirmed_option_code_c, 1, 5) = ? ";
                }

                QueryShortTermApplication += "AND PUB_pm_general_application.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n " +
                                             "AND PUB_pm_general_application.pm_application_key_i = PUB_pm_short_term_application.pm_application_key_i "
                                             +
                                             "AND PUB_pm_general_application.pm_registration_office_n = PUB_pm_short_term_application.pm_registration_office_n "
                                             +
                                             "AND PUB_p_partner.p_partner_key_n = PUB_pm_short_term_application.p_partner_key_n";

                DBAccess.GDBAccessObj.Select(AMainDS,
                    QueryShortTermApplication,
                    AMainDS.PmShortTermApplication.TableName, ReadTransaction, Parameters.ToArray());
            }
            finally
            {
                if (NewTransaction)
                {
                    DBAccess.GDBAccessObj.CommitTransaction();
                    TLogging.LogAtLevel(7, "TConferenceDataReaderWebConnector.LoadShortTermApplications: commit own transaction.");
                }
            }

            return true;
        }
示例#21
0
        public static Boolean RemoveApplicationsFromPreviousExperience(ApplicationTDS AMainDS)
        {
            TDBTransaction Transaction = null;
            bool SubmissionOK = false;

            DBAccess.GDBAccessObj.BeginAutoTransaction(IsolationLevel.Serializable, ref Transaction, ref SubmissionOK,
                delegate
                {
                    foreach (ApplicationTDSPmShortTermApplicationRow Row in AMainDS.PmShortTermApplication.Rows)
                    {
                        PmPastExperienceTable PastExperienceTable = PmPastExperienceAccess.LoadByUniqueKey(
                            Row.PartnerKey, Row.EventEndDate, Row.EventStartDate, Row.ConfirmedOptionCode, Transaction);

                        if ((PastExperienceTable != null) && (PastExperienceTable.Rows.Count > 0))
                        {
                            PastExperienceTable.Rows[0].Delete();
                            PmPastExperienceAccess.SubmitChanges(PastExperienceTable, Transaction);
                        }
                    }

                    SubmissionOK = true;
                });

            return SubmissionOK;
        }
示例#22
0
        public static Boolean LoadLongTermApplications(ref ApplicationTDS AMainDS, long ATargetFieldKey, long APlacementPersonKey)
        {
            ApplicationTDS MainDS = new ApplicationTDS();
            String GenAppTableName = AMainDS.PmGeneralApplication.TableName;
            string QueryLongTermApplication = "";

            List <OdbcParameter>Parameters = new List <OdbcParameter>();
            OdbcParameter Parameter1 = new OdbcParameter(
                "targetfieldkey", OdbcType.BigInt, PmGeneralApplicationTable.GetGenAppPossSrvUnitKeyLength());
            OdbcParameter Parameter2 = new OdbcParameter(
                "Placementpersonkey", OdbcType.BigInt, PmGeneralApplicationTable.GetPlacementPartnerKeyLength());

            TDBTransaction Transaction = null;

            DBAccess.GDBAccessObj.GetNewOrExistingAutoReadTransaction(IsolationLevel.ReadCommitted, TEnforceIsolationLevel.eilMinimum,
                ref Transaction,
                delegate
                {
                    QueryLongTermApplication =
                        "SELECT PUB_pm_general_application.*, PUB_pm_year_program_application.*, PUB_p_partner.p_partner_short_name_c " +
                        "FROM PUB_pm_general_application, PUB_pm_year_program_application, PUB_p_partner WHERE ";

                    if (ATargetFieldKey != 0)
                    {
                        Parameter1.Value = ATargetFieldKey;
                        Parameters.Add(Parameter1);

                        // load all appicants with given Target Field
                        QueryLongTermApplication += "PUB_pm_general_application.pm_gen_app_poss_srv_unit_key_n = ? AND ";
                    }

                    if (APlacementPersonKey != 0)
                    {
                        Parameter2.Value = APlacementPersonKey;
                        Parameters.Add(
                            Parameter2);

                        // load all appicants with given Placement Person
                        QueryLongTermApplication += "PUB_pm_general_application.pm_placement_partner_key_n = ? AND ";
                    }

                    QueryLongTermApplication += "PUB_pm_year_program_application.p_partner_key_n = PUB_pm_general_application.p_partner_key_n " +
                                                "AND PUB_pm_year_program_application.pm_application_key_i = PUB_pm_general_application.pm_application_key_i "
                                                +
                                                "AND PUB_pm_year_program_application.pm_registration_office_n = PUB_pm_general_application.pm_registration_office_n "
                                                +
                                                "AND PUB_p_partner.p_partner_key_n = PUB_pm_general_application.p_partner_key_n";

                    DBAccess.GDBAccessObj.Select(MainDS,
                        QueryLongTermApplication,
                        GenAppTableName, Transaction, Parameters.ToArray());
                });

            AMainDS.Merge(MainDS);

            return true;
        }
        private void LoadDataGrid()
        {
            FMainDS = new ApplicationTDS();

            // populate dataset
            TRemote.MPersonnel.WebConnectors.LoadShortTermApplications(ref FMainDS, FOutreachCode);

            FMainDS.PmShortTermApplication.DefaultView.AllowNew = false;

            // sort order for grid
            DataView MyDataView = FMainDS.PmShortTermApplication.DefaultView;
            MyDataView.Sort = "p_partner_short_name_c ASC";

            if (!chkShowAllOutreaches.Checked && chkShowAllOutreaches.Enabled)
            {
                // filter rows so only showing applicants for selected outreach rather than the entire conference
                MyDataView.RowFilter = PmShortTermApplicationTable.GetConfirmedOptionCodeDBName() + " = " + "'" + FOutreachCode + "'";
            }

            grdApplications.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView);
        }
示例#24
0
        public static Boolean ConvertApplicationsToPreviousExperience(ApplicationTDS AMainDS)
        {
            TDBTransaction Transaction = null;
            bool SubmissionOK = false;

            DBAccess.GDBAccessObj.BeginAutoTransaction(IsolationLevel.Serializable, ref Transaction, ref SubmissionOK,
                delegate
                {
                    PmPastExperienceTable PastExperienceTable = new PmPastExperienceTable();

                    foreach (ApplicationTDSPmShortTermApplicationRow Row in AMainDS.PmShortTermApplication.Rows)
                    {
                        // create the new past experience record
                        PmPastExperienceRow PastExperienceRow = PastExperienceTable.NewRowTyped(true);
                        PastExperienceRow.Key = Convert.ToInt64(TSequenceWebConnector.GetNextSequence(TSequenceNames.seq_past_experience));
                        PastExperienceRow.PartnerKey = Row.PartnerKey;
                        PastExperienceRow.PrevLocation = Row.ConfirmedOptionCode;
                        PastExperienceRow.StartDate = Row.EventStartDate;
                        PastExperienceRow.EndDate = Row.EventEndDate;
                        PastExperienceRow.PrevWorkHere = true;
                        PastExperienceRow.PrevWork = true;
                        PastExperienceRow.PastExpComments = "Created from Event Application";
                        PastExperienceRow.OtherOrganisation = "";
                        PastExperienceRow.PrevRole = "";
                        PastExperienceTable.Rows.Add(PastExperienceRow);
                    }

                    PmPastExperienceAccess.SubmitChanges(PastExperienceTable, Transaction);

                    SubmissionOK = true;
                });

            return SubmissionOK;
        }
        private void LoadDataGrid(bool ABlankGrid = false)
        {
            this.Cursor = Cursors.WaitCursor;

            FMainDS = new ApplicationTDS();

            if (!ABlankGrid)
            {
                // populate dataset
                TRemote.MPersonnel.WebConnectors.LoadApplicationsForConverting(
                    ref FMainDS, rbtConvert.Checked, FOutreachCode, chkShowAllOutreaches.Checked, rbtAll.Checked, cmbEventYear.GetSelectedString());
            }

            FMainDS.PmShortTermApplication.DefaultView.AllowNew = false;

            // sort order for grid
            DataView MyDataView = FMainDS.PmShortTermApplication.DefaultView;

            if (!ABlankGrid)
            {
                MyDataView.Sort = "p_partner_short_name_c ASC";
            }

            grdApplications.DataSource = new DevAge.ComponentModel.BoundDataView(MyDataView);

            // change button text depending on what kind of opperation this will be
            if (rbtConvert.Checked)
            {
                btnConvertApplications.Text = string.Format("Convert Applications");
            }
            else
            {
                btnConvertApplications.Text = string.Format("Remove Applications");
            }

            grdApplications.SelectRowInGrid(1);
            UpdateRecordNumberDisplay();

            this.Cursor = Cursors.Default;
        }