/// <summary> /// Update a Timesheet but make a copy of all the changes to the entries in the MoveMiscTime table /// This method will NOT update the Timeentry table /// Uses the MMT Dataset to update the MMT table /// </summary> /// <param name="ds">The Typed Data set for the timesheet</param> public void UpdateTimeSheet_CopyTimeEntryToMMT(TimeSheetDS ds) { string sql; SqlConnection conn = new SqlConnection(this.DBConnectionString); TimeSheetDS entry_copy = (TimeSheetDS)ds.Copy(); sql = "insert into TimeSheet (PEID, EmpID, StatusID, Notes) values (@PEID, @EmpID, @StatusID, @Notes)"; SqlCommand insertCommand = new SqlCommand(sql, conn); insertCommand.Parameters.Add("@PEID", System.Data.SqlDbType.Int, 4, "PEID"); insertCommand.Parameters.Add("@EmpID", System.Data.SqlDbType.Int, 4, "EmpID"); insertCommand.Parameters.Add("@StatusID", System.Data.SqlDbType.Int, 4, "StatusID"); insertCommand.Parameters.Add("@Notes", System.Data.SqlDbType.VarChar, 500, "Notes"); insertCommand.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord; sql = "update TimeSheet set PEID = @PEID, EmpID = @EmpID, StatusID = @StatusID, Notes = @Notes where TID = @TID"; SqlCommand updateCommand = new SqlCommand(sql, conn); updateCommand.Parameters.Add("@TID", System.Data.SqlDbType.Int, 4, "TID"); updateCommand.Parameters.Add("@PEID", System.Data.SqlDbType.Int, 4, "PEID"); updateCommand.Parameters.Add("@EmpID", System.Data.SqlDbType.Int, 4, "EmpID"); updateCommand.Parameters.Add("@StatusID", System.Data.SqlDbType.Int, 4, "StatusID"); updateCommand.Parameters.Add("@Notes", System.Data.SqlDbType.VarChar, 500, "Notes"); sql = "delete from TimeSheet Where TID = @TID"; SqlCommand deleteCommand = new SqlCommand(sql, conn); deleteCommand.Parameters.Add("@TID", System.Data.SqlDbType.Int, 4, "TID"); // update the timesheet table SqlHelper.UpdateDataset(insertCommand, deleteCommand, updateCommand, ds, "TimeSheet"); // update the MMT table if there were changes if (entry_copy.TimeEntry.GetChanges() != null) { // build the move misc time dataset MMTDS mmtds = new MMTDS(); // assign the changes to a local var for easier access TimeSheetDS.TimeEntryDataTable tedt = (TimeSheetDS.TimeEntryDataTable)entry_copy.TimeEntry.GetChanges(); for (int i = 0; i < tedt.Count; i++) { mmtds.MMT.AddMMTRow(tedt[i].EntryID, tedt[i].ProjectID, tedt[i].WorkTypeID); } sql = "insert into MMT (EntryID,WorkTypeID,ProjectID) values (@EntryID,@WorkTypeID,@ProjectID)"; insertCommand = new SqlCommand(sql, conn); insertCommand.Parameters.Add("@EntryID", System.Data.SqlDbType.Int, 4, "EntryID"); insertCommand.Parameters.Add("@WorktypeID", System.Data.SqlDbType.Int, 4, "WorktypeID"); insertCommand.Parameters.Add("@ProjectID", System.Data.SqlDbType.Int, 4, "ProjectID"); insertCommand.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord; sql = "update MMT set EntryID = @EntryID,WorktypeID = @WorktypeID,ProjectID=@ProjectID where MMTID = @MMTID"; updateCommand = new SqlCommand(sql, conn); updateCommand.Parameters.Add("@MMTID", System.Data.SqlDbType.Int, 4, "MMTID"); updateCommand.Parameters.Add("@EntryID", System.Data.SqlDbType.Int, 4, "EntryID"); updateCommand.Parameters.Add("@WorktypeID", System.Data.SqlDbType.Int, 4, "WorktypeID"); updateCommand.Parameters.Add("@ProjectID", System.Data.SqlDbType.Int, 4, "ProjectID"); sql = "delete from MMT where MMTID = @MMTID"; deleteCommand = new SqlCommand(sql, conn); deleteCommand.Parameters.Add("@MMTID", System.Data.SqlDbType.Int, 4, "MMTID"); // update the TimeEntry Table SqlHelper.UpdateDataset(insertCommand, deleteCommand, updateCommand, mmtds, "MMT"); } }
/// <summary> /// Update a Timesheet /// This method will update the Timeentry table as well /// </summary> /// <param name="ds">The Typed Data set for the timesheet</param> public void Update(TimeSheetDS ds) { string sql; SqlConnection conn = new SqlConnection(this.DBConnectionString); TimeSheetDS entry_copy = (TimeSheetDS)ds.Copy(); sql = "insert into TimeSheet (PEID, EmpID, StatusID, Notes) values (@PEID, @EmpID, @StatusID, @Notes)"; SqlCommand insertCommand = new SqlCommand(sql, conn); insertCommand.Parameters.Add("@PEID", System.Data.SqlDbType.Int, 4, "PEID"); insertCommand.Parameters.Add("@EmpID", System.Data.SqlDbType.Int, 4, "EmpID"); insertCommand.Parameters.Add("@StatusID", System.Data.SqlDbType.Int, 4, "StatusID"); insertCommand.Parameters.Add("@Notes", System.Data.SqlDbType.VarChar, 500, "Notes"); insertCommand.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord; sql = "update TimeSheet set PEID = @PEID, EmpID = @EmpID, StatusID = @StatusID, Notes = @Notes where TID = @TID"; SqlCommand updateCommand = new SqlCommand(sql, conn); updateCommand.Parameters.Add("@TID", System.Data.SqlDbType.Int, 4, "TID"); updateCommand.Parameters.Add("@PEID", System.Data.SqlDbType.Int, 4, "PEID"); updateCommand.Parameters.Add("@EmpID", System.Data.SqlDbType.Int, 4, "EmpID"); updateCommand.Parameters.Add("@StatusID", System.Data.SqlDbType.Int, 4, "StatusID"); updateCommand.Parameters.Add("@Notes", System.Data.SqlDbType.VarChar, 500, "Notes"); sql = "delete from TimeSheet Where TID = @TID"; SqlCommand deleteCommand = new SqlCommand(sql, conn); deleteCommand.Parameters.Add("@TID", System.Data.SqlDbType.Int, 4, "TID"); // update the timesheet table SqlHelper.UpdateDataset(insertCommand, deleteCommand, updateCommand, ds, "TimeSheet"); // update the Timeentry table sql = "insert into TimeEntry (TID,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,WorktypeID, ProjectID) values "; sql += "(@TID,@Sunday,@Monday,@Tuesday,@Wednesday,@Thursday,@Friday,@Saturday,@WorktypeID, @ProjectID)"; insertCommand = new SqlCommand(sql, conn); insertCommand.Parameters.Add("@TID", System.Data.SqlDbType.Int, 4, "TID"); insertCommand.Parameters.Add("@Sunday", System.Data.SqlDbType.Decimal, 5, "Sunday"); insertCommand.Parameters.Add("@Monday", System.Data.SqlDbType.Decimal, 5, "Monday"); insertCommand.Parameters.Add("@Tuesday", System.Data.SqlDbType.Decimal, 5, "Tuesday"); insertCommand.Parameters.Add("@Wednesday", System.Data.SqlDbType.Decimal, 5, "Wednesday"); insertCommand.Parameters.Add("@Thursday", System.Data.SqlDbType.Decimal, 5, "Thursday"); insertCommand.Parameters.Add("@Friday", System.Data.SqlDbType.Decimal, 5, "Friday"); insertCommand.Parameters.Add("@Saturday", System.Data.SqlDbType.Decimal, 5, "Saturday"); insertCommand.Parameters.Add("@WorktypeID", System.Data.SqlDbType.Int, 4, "WorktypeID"); insertCommand.Parameters.Add("@ProjectID", System.Data.SqlDbType.Int, 4, "ProjectID"); insertCommand.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord; sql = "update TimeEntry set TID = @TID,Sunday = @Sunday,Monday=@Monday,Tuesday=@Tuesday,Wednesday=@Wednesday,"; sql += "Thursday=@Thursday,Friday=@Friday,Saturday=@Saturday,WorktypeID=@WorkTypeID, ProjectID=@ProjectID where EntryID = @EntryID"; updateCommand = new SqlCommand(sql, conn); updateCommand.Parameters.Add("@TID", System.Data.SqlDbType.Int, 4, "TID"); updateCommand.Parameters.Add("@Sunday", System.Data.SqlDbType.Decimal, 5, "Sunday"); updateCommand.Parameters.Add("@Monday", System.Data.SqlDbType.Decimal, 5, "Monday"); updateCommand.Parameters.Add("@Tuesday", System.Data.SqlDbType.Decimal, 5, "Tuesday"); updateCommand.Parameters.Add("@Wednesday", System.Data.SqlDbType.Decimal, 5, "Wednesday"); updateCommand.Parameters.Add("@Thursday", System.Data.SqlDbType.Decimal, 5, "Thursday"); updateCommand.Parameters.Add("@Friday", System.Data.SqlDbType.Decimal, 5, "Friday"); updateCommand.Parameters.Add("@Saturday", System.Data.SqlDbType.Decimal, 5, "Saturday"); updateCommand.Parameters.Add("@WorktypeID", System.Data.SqlDbType.Int, 4, "WorktypeID"); updateCommand.Parameters.Add("@ProjectID", System.Data.SqlDbType.Int, 4, "ProjectID"); updateCommand.Parameters.Add("@EntryID", System.Data.SqlDbType.Int, 4, "EntryID"); sql = "delete from TimeEntry Where EntryID = @EntryID"; deleteCommand = new SqlCommand(sql, conn); deleteCommand.Parameters.Add("@EntryID", System.Data.SqlDbType.Int, 4, "EntryID"); // update the TimeEntry Table SqlHelper.UpdateDataset(insertCommand, deleteCommand, updateCommand, entry_copy, "TimeEntry"); }