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;
 | 
						|
			*/
 | 
						|
		}								
 | 
						|
	}
 | 
						|
} |