public void WriteData() { List <RecordDate> dates = new List <RecordDate>(); foreach (DateTime date in master.Keys) { RecordDate rdate = new RecordDate(); rdate.date = String.Format("new Date({0},{1},{2},{3},{4},{5})", date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second); SpeciesRecords recs = master[date]; foreach (SpeciesRepItem item in recs.records) { rdate.items.Add(item); } dates.Add(rdate); } JavaScriptSerializer js = new JavaScriptSerializer(); Response.Write(js.Serialize(dates)); }
public StringBuilder GetRecordExportStringBuilder() { CultureInfo culture = new CultureInfo("en-US"); string group1Name = ""; if (Group1 != null) { group1Name = Group1.GroupName; } string group2Name = ""; if (Group2 != null) { group2Name = Group2.GroupName; } StringBuilder sb = new StringBuilder(); sb.AppendFormat(culture, "{0},{1},{2},{3},{4},{5},{6},{7}", RecordId, RecordDate.ToString("dd/MM/yyyy"), BankAccount.AccountName, group1Name, group2Name, RecordDetails, RecordValue, RecordComment ); return(sb); }
public override int CompareTo(object y) { if (y is AbstractRecord) { return(RecordDate.CompareTo(((AbstractRecord)y).RecordDate)); } return(0); }
public bool SubmitAccountRecord() { //Validation try { if (ProfileID < 1) { return(false); } Amount.ToString(); if (Name == "") { return(false); } if (LastUpdateDate < new DateTime(2000, 1, 1)) { return(false); } if (RecordBy == "") { return(false); } if (RecordDate < new DateTime(2000, 1, 1)) { return(false); } } catch (NullReferenceException) { return(false); } using (var conn = DataAccess.EstablishConnection()) { var cmd = conn.CreateCommand(); try { cmd.CommandText = "INSERT INTO tblAccounts (ProfileID, Acc_Name, Acc_Amount, Acc_LastUpdateDate, RecordBy, RecordDate) VALUES (@ProfileID, @Name, @Amount, @LastUpdateDate, @RecordBy, @RecordDate)"; cmd.Parameters.Add("@ProfileID", DbType.Int32).Value = ProfileID; cmd.Parameters.Add("@Name", DbType.String).Value = Name; cmd.Parameters.Add("@Amount", DbType.Double).Value = Amount; cmd.Parameters.Add("@LastUpdateDate", DbType.String).Value = LastUpdateDate.ToString("MM/dd/yyyy"); cmd.Parameters.Add("@RecordBy", DbType.String).Value = RecordBy; cmd.Parameters.Add("@RecordDate", DbType.String).Value = RecordDate.ToString("yyyy-MM-dd HH:mm"); if (conn.State == ConnectionState.Closed) { conn.Open(); } cmd.ExecuteNonQuery(); } finally { conn.Close(); cmd.Dispose(); } } return(true); }
public void SubmitDebt() { using (var conn = DataAccess.EstablishConnection()) { var cmd = conn.CreateCommand(); try { if (ID == -1) { cmd.CommandText = "INSERT INTO tblDebts (ProfileID, Dbt_Name, Dbt_Principal, Dbt_LastUpdateDate, Dbt_InterestType, Dbt_NumberOfTimesApplied, Dbt_AnnualPercentageRate, RecordBy, RecordDate) VALUES (@ProfileID, @Name, @Principal, @Date, @InterestType, @InterestFrequency, @APR, @RecordBy, @RecordDate)"; cmd.Parameters.Add("@ProfileID", DbType.Int32).Value = ProfileID; cmd.Parameters.Add("@Name", DbType.String).Value = Name; cmd.Parameters.Add("@Principal", DbType.Double).Value = Principal; cmd.Parameters.Add("@Date", DbType.String).Value = LastUpdateDate.ToString("MM/dd/yyyy"); cmd.Parameters.Add("@InterestType", DbType.Int32).Value = (int)InterestType; cmd.Parameters.Add("@InterestFrequency", DbType.Int32).Value = (int)TimesApplied; cmd.Parameters.Add("@APR", DbType.Double).Value = AnnualPercentageRate; cmd.Parameters.Add("@RecordBy", DbType.String).Value = RecordBy; cmd.Parameters.Add("@RecordDate", DbType.String).Value = RecordDate.ToString("yyyy-MM-dd HH:mm"); } else { cmd.CommandText = "UPDATE tblDebts SET Dbt_Name = @Name, Dbt_Principal = @Principal, Dbt_LastUpdateDate = @Date, Dbt_InterestType = @InterestType, Dbt_NumberOfTimesApplied = @InterestFrequency, Dbt_AnnualPercentageRate = @APR, RecordBy = @RecordBy, RecordDate = @RecordDate WHERE DebtID = @DebtID"; cmd.Parameters.Add("@DebtID", DbType.Int32).Value = ID; cmd.Parameters.Add("@Name", DbType.String).Value = Name; cmd.Parameters.Add("@Principal", DbType.Double).Value = Principal; cmd.Parameters.Add("@Date", DbType.String).Value = LastUpdateDate.ToString("MM/dd/yyyy"); cmd.Parameters.Add("@InterestType", DbType.Int32).Value = (int)InterestType; cmd.Parameters.Add("@InterestFrequency", DbType.Int32).Value = (int)TimesApplied; cmd.Parameters.Add("@APR", DbType.Double).Value = AnnualPercentageRate; cmd.Parameters.Add("@RecordBy", DbType.String).Value = RecordBy; cmd.Parameters.Add("@RecordDate", DbType.String).Value = RecordDate.ToString("yyyy-MM-dd HH:mm"); } if (conn.State == ConnectionState.Closed) { conn.Open(); } cmd.ExecuteNonQuery(); } finally { conn.Close(); cmd.Dispose(); } } }
public bool UpdateAccountBalance(double change, DateTime updateDate) { try { if (ID < 1) { return(false); } Amount.ToString(); } catch (NullReferenceException) { return(false); } var newAmount = Amount + change; if (updateDate > LastUpdateDate) { LastUpdateDate = updateDate; } using (var conn = DataAccess.EstablishConnection()) { var cmd = conn.CreateCommand(); try { cmd.CommandText = "UPDATE tblAccounts SET Acc_Amount = @Amount, Acc_LastUpdateDate = @LastUpdateDate, RecordBy = @RecordBy, RecordDate = @RecordDate WHERE AccountID = @AccountID"; cmd.Parameters.Add("@Amount", DbType.Double).Value = newAmount; cmd.Parameters.Add("@LastUpdateDate", DbType.String).Value = LastUpdateDate.ToString("MM/dd/yyyy"); cmd.Parameters.Add("@RecordBy", DbType.String).Value = RecordBy; cmd.Parameters.Add("@RecordDate", DbType.String).Value = RecordDate.ToString("yyyy-MM-dd HH:mm"); cmd.Parameters.Add("@AccountID", DbType.Int32).Value = ID; if (conn.State == ConnectionState.Closed) { conn.Open(); } cmd.ExecuteNonQuery(); } finally { conn.Close(); cmd.Dispose(); } } return(true); }
public override string ToString() { IFormatProvider culture = new System.Globalization.CultureInfo("en-US"); return(RecordDate.GetDateTimeFormats('D', culture).GetValue(1) + " " + Description); }
public void SubmitAccount() { var valid = true; try { if (ProfileID < 1) { valid = false; } if (Name == "") { valid = false; } if (Amount < 0.00) { valid = false; } if (LastUpdateDate < DateTime.Parse("2000/01/01")) { valid = false; } if (RecordBy == "") { valid = false; } if (RecordDate < DateTime.Parse("2000/01/01")) { valid = false; } } catch (NullReferenceException) { valid = false; } if (!valid) { throw new DatabaseException("Invalid parameters provided"); } using (var conn = DataAccess.EstablishConnection()) { var checkCmd = conn.CreateCommand(); try { checkCmd.CommandText = "SELECT AccountID FROM tblAccounts WHERE Acc_Name = @Name AND ProfileID = @ProfileID"; checkCmd.Parameters.Add("@ProfileID", DbType.Int32).Value = ProfileID; checkCmd.Parameters.Add("@Name", DbType.String).Value = Name; if (conn.State == ConnectionState.Closed) { conn.Open(); } var read = checkCmd.ExecuteReader(); if (read.HasRows) { throw new DatabaseException("An account with this name already exists"); } read.Close(); } finally { conn.Close(); checkCmd.Dispose(); } var cmd = conn.CreateCommand(); try { cmd.CommandText = "INSERT INTO tblAccounts (ProfileID, Acc_Name, Acc_Amount, Acc_LastUpdateDate, RecordBy, RecordDate) VALUES (@ProfileID, @Name, @Amount, @LastUpdateDate, @RecordBy, @RecordDate)"; cmd.Parameters.Add("@ProfileID", DbType.Int32).Value = ProfileID; cmd.Parameters.Add("@Name", DbType.String).Value = Name; cmd.Parameters.Add("@Amount", DbType.Double).Value = Amount; cmd.Parameters.Add("@LastUpdateDate", DbType.String).Value = LastUpdateDate.ToString("MM/dd/yyyy"); cmd.Parameters.Add("@RecordBy", DbType.String).Value = RecordBy; cmd.Parameters.Add("@RecordDate", DbType.String).Value = RecordDate.ToString("MM/dd/yyyy HH:mm"); if (conn.State == ConnectionState.Closed) { conn.Open(); } cmd.ExecuteNonQuery(); } finally { conn.Close(); cmd.Dispose(); } } }
public static Record[] ReadRecord() { var records = new List <Record>(); var handle = HIDAPI.hid_open(VENDOR_ID, PRODUCT_ID, IntPtr.Zero); if (handle.ToInt32() <= 0) { Debug.Print("Could not open device."); return(null); } try { var outBuffer = new byte[] { 0x02, // USB Read Report 0x02, // Size of payload READ_RECORD, // READ_RECORD READ_RECORD // Checksum (only one byte so same as command) }; var numWritten = HIDAPI.hid_write(handle, outBuffer, outBuffer.Length); if (numWritten < 4) { Debug.Print("Failed to write request to device."); return(null); } using (var mem = new MemoryStream(1024)) { var payload = PerformRead(handle); if (payload == null) { Debug.Print("Could not read data from device."); return(null); } if (payload[0] != READ_RECORD) { Debug.Print("Payload is not a READ_RECORD result."); return(null); } var totalSize = payload[1]; var data = new byte[payload.Length - 2]; Array.Copy(payload, 2, data, 0, data.Length); mem.Write(data, 0, data.Length); while (mem.Length < totalSize) { data = PerformRead(handle); if (data == null) { Debug.Print("Could not read data from device."); return(null); } if ((mem.Length + data.Length) >= totalSize) { mem.Write(data, 0, data.Length - 1); // -1 because we don't want to include the final checksum byte } else { mem.Write(data, 0, data.Length); } } mem.Seek(0, SeekOrigin.Begin); while (mem.Position < mem.Length) { var type = Utils.ReadByte(mem); var item = type; var hasDate = (type & ITEM_DATE) != 0; var hasTime = (type & ITEM_TIME) != 0; if (hasDate) { item = Convert.ToByte(item & ~ITEM_DATE); } if (hasTime) { item = Convert.ToByte(item & ~ITEM_TIME); } var valueBytes = new byte[0]; switch (item) { case ITEM_INTEMP: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_OUTTEMP: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_DEWPOINT: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_WINDCHILL: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_HEATINDEX: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_INHUMI: valueBytes = Utils.ReadBytes(mem, 1); break; case ITEM_OUTHUMI: valueBytes = Utils.ReadBytes(mem, 1); break; case ITEM_ABSBARO: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_RELBARO: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_WINDDIRECTION: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_WINDSPEED: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_GUSTSPEED: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_RAINEVENT: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINRATE: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINHOUR: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINDAY: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINWEEK: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINMONTH: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINYEAR: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_RAINTOTALS: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_LIGHT: valueBytes = Utils.ReadBytes(mem, 4); break; case ITEM_UV: valueBytes = Utils.ReadBytes(mem, 2); break; case ITEM_UVI: valueBytes = Utils.ReadBytes(mem, 1); break; default: return(null); } RecordDate date = null; RecordTime time = null; if (hasDate) { var dateBuffer = new byte[3]; var numRead = mem.Read(dateBuffer, 0, dateBuffer.Length); if (numRead < dateBuffer.Length) { Debug.Print("Could not read date from memory."); return(null); } date = new RecordDate(dateBuffer[0], dateBuffer[1], dateBuffer[2]); } if (hasTime) { var timeBuffer = new byte[2]; var numRead = mem.Read(timeBuffer, 0, timeBuffer.Length); if (numRead < timeBuffer.Length) { Debug.Print("Could not read time from memory."); return(null); } time = new RecordTime(timeBuffer[0], timeBuffer[1]); } Record record = null; switch (item) { case ITEM_INTEMP: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_OUTTEMP: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_DEWPOINT: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_WINDCHILL: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_HEATINDEX: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_INHUMI: { record = new Record8(item, date, time, valueBytes[0]); break; } case ITEM_OUTHUMI: { record = new Record8(item, date, time, valueBytes[0]); break; } case ITEM_ABSBARO: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_RELBARO: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_WINDDIRECTION: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_WINDSPEED: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_GUSTSPEED: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_RAINEVENT: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINRATE: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINHOUR: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINDAY: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINWEEK: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINMONTH: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINYEAR: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_RAINTOTALS: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_LIGHT: { uint value = BitConverter.ToUInt32(Utils.ReverseBytes(valueBytes), 0); record = new Record32(item, date, time, value); break; } case ITEM_UV: { ushort value = BitConverter.ToUInt16(Utils.ReverseBytes(valueBytes), 0); record = new Record16(item, date, time, value); break; } case ITEM_UVI: { record = new Record8(item, date, time, valueBytes[0]); break; } } if (record != null) { records.Add(record); } } } } finally { HIDAPI.hid_close(handle); } return(records.ToArray()); }
internal Record32(byte item, RecordDate date, RecordTime time, uint value) : base(item, date, time) { Value = value; }
internal Record16(byte item, RecordDate date, RecordTime time, ushort value) : base(item, date, time) { Value = value; }
internal Record(byte item, RecordDate date, RecordTime time) { Item = item; Date = date; Time = time; }