218 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| /*********************************************************************************************
 | |
|  * Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
 | |
|  * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | |
|  * ------------------------------------------------------------------------------
 | |
|  * $Workfile: ProcExt.cs $     $Revision: 3 $
 | |
|  * $Author: Kathy $   $Date: 4/21/05 10:22a $
 | |
|  *
 | |
|  * $History: ProcExt.cs $
 | |
|  * 
 | |
|  * *****************  Version 3  *****************
 | |
|  * User: Kathy        Date: 4/21/05    Time: 10:22a
 | |
|  * Updated in $/LibSource/VEObject
 | |
|  * remove upgrade2005 define
 | |
|  * 
 | |
|  * *****************  Version 2  *****************
 | |
|  * User: Kathy        Date: 3/08/05    Time: 1:51p
 | |
|  * Updated in $/LibSource/VEObject
 | |
|  * Approval
 | |
|  * 
 | |
|  * *****************  Version 1  *****************
 | |
|  * User: Kathy        Date: 7/27/04    Time: 8:53a
 | |
|  * Created in $/LibSource/VEObject
 | |
|  *********************************************************************************************/
 | |
| 
 | |
| using System;
 | |
| using System.Collections;
 | |
| using System.Text;
 | |
| using System.IO;
 | |
| using System.Windows.Forms;
 | |
| using System.Data;
 | |
| using System.ComponentModel;
 | |
| using System.Diagnostics;
 | |
| using Utils;
 | |
| using VDB;
 | |
| 
 | |
| namespace VEObject
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// VEO_ProcExt support procedure set functionality.
 | |
| 	/// </summary>
 | |
| 	public class VEO_ProcExt : VEO_Base
 | |
| 	{
 | |
| 		public string latestRev;	// 30 char long
 | |
| 		public string latestPC;		// 10 char long
 | |
| 		public string recID;		// 8 char long
 | |
| 		public string approvalTD;
 | |
| 		private string tmpComment;
 | |
| 		private bool changeComment;
 | |
| 		private string _Comment;
 | |
| 		public DataRow drow;
 | |
| 
 | |
| 		public VEO_ProcExt(string comment, string rev, string pc, string recid, string std, DataRow row)
 | |
| 		{	
 | |
| 			changeComment=false;
 | |
| 			_Comment = comment;
 | |
| 			latestRev = rev;
 | |
| 			latestPC = pc;
 | |
| 			recID = recid;
 | |
| 			approvalTD = std;
 | |
| 			drow = row;
 | |
| 			if (std==null || std=="")
 | |
| 				approvalTD = "Not Approved";
 | |
| 			else
 | |
| 			{
 | |
| 				DateTime dtx = System.Convert.ToDateTime(std);
 | |
| 				ThisTimeZone TZ = new ThisTimeZone();
 | |
| 				TimeSpan TimeZoneSpan = TZ.GetUtcOffset(dtx); // Time Zone offset from UTC
 | |
| 				long TimeZoneAdj = Math.Abs(TimeZoneSpan.Ticks / 10000000); // convert to seconds
 | |
| 				DateTime cnv = dtx.AddSeconds(-TimeZoneAdj);
 | |
| 				approvalTD = cnv.ToLongDateString() + "  " + cnv.ToLongTimeString();
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		[Description("Approved"),Category("Procedure Extension"),ReadOnly(true)]public string Approved
 | |
| 		{
 | |
| 			get{return approvalTD;}
 | |
| 		}
 | |
| 
 | |
| 		[Description("Revision"),Category("Procedure Extension"),ReadOnly(true)]public string Revision
 | |
| 		{
 | |
| 			get{return latestRev;}
 | |
| 		}
 | |
| 
 | |
| 		[Description("Change ID"),Category("Procedure Extension"),ReadOnly(true)]public string ChangeID
 | |
| 		{
 | |
| 			get{return latestPC;}
 | |
| 		}
 | |
| 		[Description("Comment"),Category("Procedure Extension")]public string Comment
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				if (!changeComment)
 | |
| 					return _Comment;
 | |
| 				else
 | |
| 					return tmpComment;
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				changeComment=true;
 | |
| 				tmpComment=value;
 | |
| 			}
 | |
| 		}
 | |
| 		
 | |
| 		public override void Restore()
 | |
| 		{
 | |
| 			changeComment=false;
 | |
| 		}
 | |
| 
 | |
| 		public bool SaveNew(VEO_Proc prc, string srecid)
 | |
| 		{
 | |
| 			try
 | |
| 			{
 | |
| 				VEO_DummySet ds = (VEO_DummySet) prc.parentObj;
 | |
| 
 | |
| 				// Add the record to the setext file.
 | |
| 				DataTable pdatatable = ds.vdbSetExt.DB_Data.Tables[0];
 | |
| 				DataRow recidrow = pdatatable.Rows[0];
 | |
| 				recidrow["RECID"]=srecid;
 | |
| 				DataRow pdatarow = pdatatable.NewRow();
 | |
| 				recID = srecid;
 | |
| 				pdatarow["RECID"] = srecid;
 | |
| 				pdatarow["COMMENT"] = Comment;
 | |
| 				pdatarow["REV"] = System.DBNull.Value;
 | |
| 				pdatarow["PC"] = System.DBNull.Value;
 | |
| 			
 | |
| 				pdatatable.Rows.Add(pdatarow);
 | |
| 				ds.vdbSetExt.DB_Data = pdatarow.Table.DataSet;
 | |
| 				_Comment=Comment;
 | |
| 				changeComment=false;
 | |
| 				drow=pdatarow;
 | |
| 				prc.procExt = this;
 | |
| 			}
 | |
| 			catch (Exception e)
 | |
| 			{
 | |
| 				MessageBox.Show(e.Message,"Could not perform database functions required to add procedure.");
 | |
| 				return false;
 | |
| 			}
 | |
| 		return true;
 | |
| 		}
 | |
| 
 | |
| 		public override bool Read(bool dummy)
 | |
| 		{
 | |
| 			return true;
 | |
| 		}
 | |
| 
 | |
| 		public bool Write(VEO_DummySet dset)
 | |
| 		{
 | |
| 			bool dchange=false;
 | |
| 			VEO_ProcSet pset = (VEO_ProcSet) dset.parentObj;
 | |
| 			if (changeComment)
 | |
| 			{
 | |
| 				if((drow["COMMENT"]==System.DBNull.Value && tmpComment!=null) ||((string)drow["COMMENT"]!=tmpComment))
 | |
| 				{
 | |
| 					drow["COMMENT"] = tmpComment;
 | |
| 					_Comment = tmpComment;
 | |
| 					changeComment=false;
 | |
| 					dchange=true;
 | |
| 				}
 | |
| 			}
 | |
| 			if(dchange)
 | |
| 			{
 | |
| 				try
 | |
| 				{
 | |
| 					dset.vdbSetExt.DB_Data = drow.Table.DataSet;
 | |
| 				}
 | |
| 				catch (Exception e)
 | |
| 				{
 | |
| 					MessageBox.Show(e.Message);
 | |
| 					return false;
 | |
| 				}
 | |
| 			}
 | |
| 		return true;
 | |
| 		}
 | |
| 
 | |
| 		public void SetProcApprovedDate(string dbname, string ApprovedPath) 
 | |
| 		{
 | |
| 			MessageBox.Show("Set Extention setting of approval date is not implemented yet");
 | |
| 		
 | |
| 			
 | |
| 		/*  
 | |
| 		 * 	string apprfilepath = ApprovedPath + "\\" + dbname + ".dbf";
 | |
| 			DateTime dt = File.GetLastWriteTime(apprfilepath);
 | |
| 			
 | |
| 			//C - CODE....  
 | |
| 			//get the approved file date/time stamp
 | |
| 			if ( getftime(apprfile, &ft) == -1) 
 | |
| 			{
 | |
| 				Zfree(&buff);
 | |
| 				close(apprfile);
 | |
| 				return;
 | |
| 			}
 | |
| 			close(apprfile);
 | |
| 			// assign the file date/time to the Date and Time structures
 | |
| 			dt.da_year = ft.ft_year + 1980;
 | |
| 			dt.da_mon  = (char)ft.ft_month;
 | |
| 			dt.da_day  = (char)ft.ft_day;
 | |
| 			tm.ti_hour = (char)ft.ft_hour;
 | |
| 			tm.ti_min  = (char)ft.ft_min;
 | |
| 			tm.ti_sec  = (char)ft.ft_tsec << 1;
 | |
| 
 | |
| 			//	getdate(&dt);
 | |
| 			//	gettime(&tm);
 | |
| 			(void) VDB_GetSetExtRecord(SetExtfd,rec,(char *)buff);
 | |
| 			buff->approvalTD=dostounix(&dt,&tm);
 | |
| 			NWSetMode(NWExclusive);
 | |
| 	
 | |
| 			if (!VDB_LockSetFile(SetExtfd))
 | |
| 			return;
 | |
| 			(void) VDB_UpdateSetExtRecord(SetExtfd,rec,(char *)buff);
 | |
| 			NWResetMode();
 | |
| 			VDB_UnLockSetFile(SetExtfd);
 | |
| 			Zfree(&buff);							  
 | |
| 
 | |
| 			return;
 | |
| 			*/
 | |
| 		}								
 | |
| 	}
 | |
| } |