示例#1
0
        /// <summary>
        /// Get all Tasks
        /// </summary>
        /// <returns>A TasksTD</returns>
        public static DataSet GetTasks()
        {
            TasksTD           td = new TasksTD();
            TasksTableAdapter ta = new TasksTableAdapter();

            ta.Fill(td.Tasks);
            ta.Dispose();
            return(td);
        }
示例#2
0
        /// <summary>
        /// Returns true or false if a Tasks exists
        /// </summary>
        /// <param name="taskId">The TaskId to check existance</param>
        /// <returns>true if Tasks exists, false if not</returns>
        public static bool IsExistingTask(int taskId)
        {
            if (taskId == 0)
            {
                throw new Exception("The TaskId cannot be zero.");
            }

            TasksTableAdapter ta = new TasksTableAdapter();
            bool isExistingTask  = (ta.IsExistingTask(taskId) == 1 ? true : false);

            ta.Dispose();
            return(isExistingTask);
        }
示例#3
0
        /// <summary>
        /// Get Task row by TaskId
        /// </summary>
        /// <returns>A TasksDataTable with one row if TaskId exists</returns>
        public static DataTable GetTask(int taskId)
        {
            if (taskId == 0)
            {
                throw new Exception("The TaskId is zero.");
            }

            TasksTableAdapter ta = new TasksTableAdapter();
            TasksDataTable    tt = ta.GetDataByTaskId(taskId);

            ta.Dispose();
            return(tt);
        }
示例#4
0
        /// <summary>
        /// Service callable code to Delete/Insert/Update Tasks
        /// </summary>
        /// <returns>A TasksTD. If ALL updated OK contains updated data, if not contains the RowErrors</returns>
        public static DataSet UpdateTasks(DataSet tasksDataSet, ref SqlTransaction transaction)
        {
            if (tasksDataSet == null || tasksDataSet.Tables["Tasks"] == null || tasksDataSet.Tables["Tasks"].Rows.Count == 0)
            {
                throw new Exception("The DataSet and/or DataTable is null or empty.");
            }

            TasksDataTable dtTasks = new TasksDataTable();

            dtTasks.BeginLoadData();
            dtTasks.Merge(tasksDataSet.Tables["Tasks"], false, MissingSchemaAction.Error);

            TasksTableAdapter taTasks = new TasksTableAdapter();

            TableAdapterUtils.UseTransaction(taTasks, ref transaction);

            #region do deletes
            foreach (TasksRow deletedRow in dtTasks.Select("", "", DataViewRowState.Deleted))
            {
                // get the primary key value(s) from the Original version (for child deletes)
                int taskId = (int)deletedRow["TaskId", DataRowVersion.Original];

                // do child deletes (if any exist)
                //TasksChildrenDataSet.UpdateTasksChildren

                // delete the row
                taTasks.Delete(taskId);
            }
            #endregion

            #region do inserts
            foreach (TasksRow insertedRow in dtTasks.Select("", "", DataViewRowState.Added))
            {
                //insertedRow["SubmitDt"] = DBNull.Value;  // for testing SetDefaultValues
                insertedRow.SetDefaultValues();

                if (insertedRow.IsValidRow())
                {
                    taTasks.Update(insertedRow);
                }
                else
                {
                    throw new Exception("A row to be inserted contains invalid data. Entire transaction cancelled.");
                }
            }
            #endregion

            #region do updates
            foreach (TasksRow modifiedRow in dtTasks.Select("", "", DataViewRowState.ModifiedCurrent))
            {
                // get the primary key value(s) from the Original version
                int taskId = (int)modifiedRow["TaskId", DataRowVersion.Original];

                // do not allow key changes
                int taskIdCurr = (int)modifiedRow["TaskId", DataRowVersion.Current];
                if (taskId != taskIdCurr)
                {
                    throw new Exception("Change of primary key(s) is not permitted. Entire transaction cancelled.");
                }

                if (modifiedRow.IsValidRow())
                {
                    taTasks.Update(modifiedRow);
                }
                else
                {
                    throw new Exception("A row to be modified contains invalid data. Entire transaction cancelled.");
                }
            }
            #endregion

            dtTasks.AcceptChanges();
            tasksDataSet.Tables["Tasks"].Merge(dtTasks, false, MissingSchemaAction.Ignore);

            return(tasksDataSet);
        }