/********************************************************************************************* * Copyright 2005 - Volian Enterprises, Inc. All rights reserved. * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE * ------------------------------------------------------------------------------ * $Workfile: DTI.cs $ $Revision: 1 $ * $Author: Kathy $ $Date: 3/08/05 1:46p $ * * $History: DTI.cs $ * * ***************** Version 1 ***************** * User: Kathy Date: 3/08/05 Time: 1:46p * Created in $/LibSource/Utils * Approval *********************************************************************************************/ using System; using System.Text; namespace Utils { /// /// Summary description for DTI. /// public class DTI { public static string DateTimeInit; public static string SetDateTimeInit; public static string Initials; // set from the user's run time. public static string CurDate(string delim) { DateTime dt = DateTime.Today; StringBuilder sdt = new StringBuilder(11); if (delim == null || delim == "") delim = "-"; sdt.Append(dt.Month.ToString("D2")); sdt.Append(delim); sdt.Append(dt.Day.ToString("D2")); sdt.Append(delim); sdt.Append(dt.Year.ToString("D2")); return sdt.ToString(); } public static string CurTime() { DateTime dt = DateTime.Now; StringBuilder sdt = new StringBuilder(11); sdt.Append(dt.Hour.ToString("D2")); sdt.Append(":"); sdt.Append(dt.Minute.ToString("D2")); sdt.Append(":"); sdt.Append(dt.Second.ToString("D2")); return sdt.ToString(); } // ovrride == 0 default, don't do anything different // ovrride == 1 means simply override "super" // ovrride == 2 means force a reset of the DTI public static void UpdateDateTimeInit(int ovrride) { StringBuilder ldti = new StringBuilder(19); if (ovrride != 2 && (ovrride!=0 || Initials!="super")) { string tptr = CurDate(null); ldti = new StringBuilder(12); ldti.Insert(0,tptr.Substring(6,4)); ldti.Insert(4,tptr.Substring(0,2)); ldti.Insert(6,tptr.Substring(3,2)); ldti.Insert(8,CurTime().Substring(0,5)); ldti.Insert(13,Initials.PadRight(5,' ').Substring(0,5)); } else ldti.Insert(0,DTI.SetDateTimeInit); // for dbase, replace spaces with '0' in date/time part & shift any non-number // in first time field back to end of time field (?not sure why - this was // done in 16-bit code. for (int i=0;i<13&&ldti[i]!=0;i++) if (ldti[i]==' ') ldti[i]='0'; char c = ldti[10]; if (!Char.IsDigit(c)) { ldti[10]=ldti[11]; ldti[11]=ldti[12]; ldti[12]=c; } if (ldti.ToString().Substring(0,8).Equals("19800101")) { ldti.Insert(0,SetDateTimeInit.Substring(0,13)); } DateTimeInit = ldti.ToString(); } // MakeDate is passed a date in the form of YYYYMMDD and translates it // into MM/DD/YY (if ShortYear is true) or MM/DD/YYYY. condense // removes any leading ' ' or 0 in month or day. public static string MakeDate(string src, bool condense, bool ShortYear) { int[] DateOffset={4,5,47,6,7,47,2,3}; // 47 = '/' StringBuilder datebuff = new StringBuilder(12); for (int i=0; i