///<summary>Updates one JobSprintLink in the database.  Uses an old object to compare to, and only alters changed fields.  This prevents collisions and concurrency problems in heavily used tables.  Returns true if an update occurred.</summary>
        public static bool Update(JobSprintLink jobSprintLink, JobSprintLink oldJobSprintLink)
        {
            string command = "";

            if (jobSprintLink.JobNum != oldJobSprintLink.JobNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "JobNum = " + POut.Long(jobSprintLink.JobNum) + "";
            }
            if (jobSprintLink.JobSprintNum != oldJobSprintLink.JobSprintNum)
            {
                if (command != "")
                {
                    command += ",";
                }
                command += "JobSprintNum = " + POut.Long(jobSprintLink.JobSprintNum) + "";
            }
            if (command == "")
            {
                return(false);
            }
            command = "UPDATE jobsprintlink SET " + command
                      + " WHERE JobSprintLinkNum = " + POut.Long(jobSprintLink.JobSprintLinkNum);
            Db.NonQ(command);
            return(true);
        }
        ///<summary>Inserts one JobSprintLink into the database.  Provides option to use the existing priKey.</summary>
        public static long Insert(JobSprintLink jobSprintLink, bool useExistingPK)
        {
            if (!useExistingPK && PrefC.RandomKeys)
            {
                jobSprintLink.JobSprintLinkNum = ReplicationServers.GetKey("jobsprintlink", "JobSprintLinkNum");
            }
            string command = "INSERT INTO jobsprintlink (";

            if (useExistingPK || PrefC.RandomKeys)
            {
                command += "JobSprintLinkNum,";
            }
            command += "JobNum,JobSprintNum) VALUES(";
            if (useExistingPK || PrefC.RandomKeys)
            {
                command += POut.Long(jobSprintLink.JobSprintLinkNum) + ",";
            }
            command +=
                POut.Long(jobSprintLink.JobNum) + ","
                + POut.Long(jobSprintLink.JobSprintNum) + ")";
            if (useExistingPK || PrefC.RandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                jobSprintLink.JobSprintLinkNum = Db.NonQ(command, true, "JobSprintLinkNum", "jobSprintLink");
            }
            return(jobSprintLink.JobSprintLinkNum);
        }
        ///<summary>Inserts one JobSprintLink into the database.  Provides option to use the existing priKey.  Doesn't use the cache.</summary>
        public static long InsertNoCache(JobSprintLink jobSprintLink, bool useExistingPK)
        {
            bool   isRandomKeys = Prefs.GetBoolNoCache(PrefName.RandomPrimaryKeys);
            string command      = "INSERT INTO jobsprintlink (";

            if (!useExistingPK && isRandomKeys)
            {
                jobSprintLink.JobSprintLinkNum = ReplicationServers.GetKeyNoCache("jobsprintlink", "JobSprintLinkNum");
            }
            if (isRandomKeys || useExistingPK)
            {
                command += "JobSprintLinkNum,";
            }
            command += "JobNum,JobSprintNum) VALUES(";
            if (isRandomKeys || useExistingPK)
            {
                command += POut.Long(jobSprintLink.JobSprintLinkNum) + ",";
            }
            command +=
                POut.Long(jobSprintLink.JobNum) + ","
                + POut.Long(jobSprintLink.JobSprintNum) + ")";
            if (useExistingPK || isRandomKeys)
            {
                Db.NonQ(command);
            }
            else
            {
                jobSprintLink.JobSprintLinkNum = Db.NonQ(command, true, "JobSprintLinkNum", "jobSprintLink");
            }
            return(jobSprintLink.JobSprintLinkNum);
        }
        ///<summary>Updates one JobSprintLink in the database.</summary>
        public static void Update(JobSprintLink jobSprintLink)
        {
            string command = "UPDATE jobsprintlink SET "
                             + "JobNum          =  " + POut.Long(jobSprintLink.JobNum) + ", "
                             + "JobSprintNum    =  " + POut.Long(jobSprintLink.JobSprintNum) + " "
                             + "WHERE JobSprintLinkNum = " + POut.Long(jobSprintLink.JobSprintLinkNum);

            Db.NonQ(command);
        }
 ///<summary>Returns true if Update(JobSprintLink,JobSprintLink) would make changes to the database.
 ///Does not make any changes to the database and can be called before remoting role is checked.</summary>
 public static bool UpdateComparison(JobSprintLink jobSprintLink, JobSprintLink oldJobSprintLink)
 {
     if (jobSprintLink.JobNum != oldJobSprintLink.JobNum)
     {
         return(true);
     }
     if (jobSprintLink.JobSprintNum != oldJobSprintLink.JobSprintNum)
     {
         return(true);
     }
     return(false);
 }
        ///<summary>Converts a DataTable to a list of objects.</summary>
        public static List <JobSprintLink> TableToList(DataTable table)
        {
            List <JobSprintLink> retVal = new List <JobSprintLink>();
            JobSprintLink        jobSprintLink;

            foreach (DataRow row in table.Rows)
            {
                jobSprintLink = new JobSprintLink();
                jobSprintLink.JobSprintLinkNum = PIn.Long(row["JobSprintLinkNum"].ToString());
                jobSprintLink.JobNum           = PIn.Long(row["JobNum"].ToString());
                jobSprintLink.JobSprintNum     = PIn.Long(row["JobSprintNum"].ToString());
                retVal.Add(jobSprintLink);
            }
            return(retVal);
        }
Exemple #7
0
        private void gridSprintJobs_TitleAddClick(object sender, EventArgs e)
        {
            FormJobSearch FormJS = new FormJobSearch(_listJobsAll, true);

            FormJS.ShowDialog();
            if (FormJS.DialogResult != DialogResult.OK)
            {
                return;
            }
            foreach (Job job in FormJS.ListSelectedJobs)
            {
                if (_listJobSprintLinks.Exists(x => x.JobNum == job.JobNum))
                {
                    continue;
                }
                JobSprintLink sprintLink = new JobSprintLink();
                sprintLink.JobNum       = job.JobNum;
                sprintLink.JobSprintNum = _jobSprintCur.JobSprintNum;
                JobSprintLinks.Insert(sprintLink);
                _listJobSprintLinks.Add(sprintLink);
            }
            FillGridJobs();
        }
 ///<summary>Inserts one JobSprintLink into the database.  Returns the new priKey.</summary>
 public static long Insert(JobSprintLink jobSprintLink)
 {
     return(Insert(jobSprintLink, false));
 }