internal static void SaveNoteSize(PNote note, Size size, System.Drawing.Size editSize) { try { note.NoteSize = size; note.EditSize = editSize; if (note.FromDB) { var sc = new SizeConverter(); var scd = new System.Drawing.SizeConverter(); var sb = new StringBuilder(); sb.Append("UPDATE NOTES SET SIZE = '"); sb.Append(sc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteSize)); sb.Append("', EDIT_SIZE = '"); sb.Append(scd.ConvertToString(null, PNStatic.CultureInvariant, note.EditSize)); sb.Append("' WHERE ID = '"); sb.Append(note.ID); sb.Append("'"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } } } catch (Exception ex) { PNStatic.LogException(ex); } }
internal static bool SaveNewNote(PNote note) { try { var sb = new StringBuilder(); note.DateSaved = DateTime.Now; sb.Append("INSERT INTO NOTES (ID, NAME, GROUP_ID, PREV_GROUP_ID, OPACITY, VISIBLE, FAVORITE, PROTECTED, COMPLETED, PRIORITY, PASSWORD_STRING, PINNED, TOPMOST, ROLLED, DOCK_STATUS, DOCK_ORDER, SEND_RECEIVE_STATUS, DATE_CREATED, DATE_SAVED, DATE_SENT, DATE_RECEIVED, DATE_DELETED, SIZE, LOCATION, EDIT_SIZE, REL_X, REL_Y, SENT_TO, RECEIVED_FROM, PIN_CLASS, PIN_TEXT, SCRAMBLED, RECEIVED_IP) VALUES('"); sb.Append(note.ID); sb.Append("', '"); sb.Append(note.Name.Replace("'", "''")); sb.Append("', "); sb.Append(note.GroupID); sb.Append(", "); sb.Append(note.GroupID); //as prev png sb.Append(", "); sb.Append(note.Opacity.ToString(PNStatic.CultureInvariant)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Visible)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Favorite)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Protected)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Completed)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Priority)); sb.Append(", '"); sb.Append(note.PasswordString.Replace("'", "''")); sb.Append("', "); sb.Append(Convert.ToInt32(note.Pinned)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Topmost)); sb.Append(", "); sb.Append(Convert.ToInt32(note.Rolled)); sb.Append(", "); sb.Append(Convert.ToInt32(note.DockStatus)); sb.Append(", "); sb.Append(Convert.ToInt32(note.DockOrder)); sb.Append(", "); sb.Append(Convert.ToInt32(note.SentReceived)); sb.Append(", '"); sb.Append(note.DateCreated.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("', '"); sb.Append(note.DateSaved.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("', '"); sb.Append(note.DateSent.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("', '"); sb.Append(note.DateReceived.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("', '"); sb.Append(note.DateDeleted.ToString(PNStrings.DATE_TIME_FORMAT, PNStatic.CultureInvariant).Replace("'", "''")); sb.Append("', '"); var sc = new SizeConverter(); sb.Append(sc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteSize)); sb.Append("', '"); var pc = new PointConverter(); sb.Append(pc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteLocation)); sb.Append("', '"); var scd = new System.Drawing.SizeConverter(); sb.Append(scd.ConvertToString(null, PNStatic.CultureInvariant, note.EditSize)); sb.Append("', "); var factors = getRelationalFactors(note); sb.Append(factors[0].ToString(PNStatic.CultureInvariant)); sb.Append(", "); sb.Append(factors[1].ToString(PNStatic.CultureInvariant)); sb.Append(", '"); sb.Append(note.SentTo.Replace("'", "''")); sb.Append("', '"); sb.Append(note.ReceivedFrom.Replace("'", "''")); sb.Append("', '"); sb.Append(note.PinClass); sb.Append("', '"); sb.Append(note.PinText); sb.Append("', "); sb.Append(Convert.ToInt32(note.Scrambled)); sb.Append(", '"); sb.Append(note.ReceivedIp); sb.Append("'"); sb.Append(")"); using (var oData = new SQLiteDataObject(PNData.ConnectionString)) { oData.Execute(sb.ToString()); } note.FromDB = true; if (note.Skinless != null) { SaveNoteSkinless(note); } return true; } catch (Exception ex) { PNStatic.LogException(ex); return false; } }
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { var str = value as string; if (str != null) { var note = new PNote(); var values = str.Split(DEL_NOTE); if (values.Length == Enum.GetValues(typeof(Fields)).Length) { string[] arr; var dtc = new DateTimeConverter(); var szc = new SizeConverter(); var scd = new System.Drawing.SizeConverter(); var ptc = new PointConverter(); var scv = new ScheduleConverter(); var skc = new SkinlessConverter(); note.Changed = Convert.ToBoolean(values[(int)Fields.Changed]); note.Completed = Convert.ToBoolean(values[(int)Fields.Completed]); note.CustomOpacity = Convert.ToBoolean(values[(int)Fields.CustomOpacity]); var dateFromString = dtc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.DateCreated]); if (dateFromString != null) note.DateCreated = (DateTime)dateFromString; dateFromString = dtc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.DateDeleted]); if (dateFromString != null) note.DateDeleted = (DateTime)dateFromString; dateFromString = dtc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.DateReceived]); if (dateFromString != null) note.DateReceived = (DateTime)dateFromString; dateFromString = dtc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.DateSaved]); if (dateFromString != null) note.DateSaved = (DateTime)dateFromString; dateFromString = dtc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.DateSent]); if (dateFromString != null) note.DateSent = (DateTime)dateFromString; note.DockStatus = (DockStatus)Convert.ToInt32(values[(int)Fields.DockStatus]); var sizeFromString = scd.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.EditSize]); if (sizeFromString != null) note.EditSize = (Size)sizeFromString; note.Favorite = Convert.ToBoolean(values[(int)Fields.Favorite]); note.FromDB = Convert.ToBoolean(values[(int)Fields.FromDB]); note.GroupID = Convert.ToInt32(values[(int)Fields.GroupID]); note.ID = values[(int)Fields.ID]; var temp = values[(int)Fields.LinkedNotes]; if (temp != "") { arr = temp.Split(DEL_INNER); foreach (var s in arr) { note.LinkedNotes.Add(s); } } note.Name = values[(int)Fields.Name]; var convertFromString = ptc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.NoteLocation]); if (convertFromString != null) note.NoteLocation = (Point)convertFromString; var fromString = szc.ConvertFromString(null, PNStatic.CultureInvariant, values[(int)Fields.NoteSize]); if (fromString != null) note.NoteSize = (System.Windows.Size)fromString; note.Opacity = Convert.ToDouble(values[(int)Fields.Opacity], PNStatic.CultureInvariant); note.PasswordString = values[(int)Fields.PasswordString]; note.Pinned = Convert.ToBoolean(values[(int)Fields.Pinned]); note.PrevGroupID = Convert.ToInt32(values[(int)Fields.PrevGroupID]); note.Priority = Convert.ToBoolean(values[(int)Fields.Priority]); note.Protected = Convert.ToBoolean(values[(int)Fields.Protected]); note.ReceivedFrom = values[(int)Fields.ReceivedFrom]; note.Rolled = Convert.ToBoolean(values[(int)Fields.Rolled]); note.Schedule = (PNNoteSchedule)scv.ConvertFromString(values[(int)Fields.Schedule]); note.SentReceived = (SendReceiveStatus)Convert.ToInt32(values[(int)Fields.SentReceived]); note.SentTo = values[(int)Fields.SentTo]; temp = values[(int)Fields.SkinName]; if (temp != PNSkinDetails.NO_SKIN && temp != "") { // TODO - get skin properties } note.Skinless = (PNSkinlessDetails)skc.ConvertFromString(values[(int)Fields.Skinless]); temp = values[(int)Fields.Tags]; if (temp != "") { arr = temp.Split(DEL_INNER); foreach (var s in arr) { note.Tags.Add(s); } } note.Topmost = Convert.ToBoolean(values[(int)Fields.Topmost]); note.Visible = Convert.ToBoolean(values[(int)Fields.Visible]); note.XFactor = Convert.ToDouble(values[(int)Fields.XFactor], PNStatic.CultureInvariant); note.YFactor = Convert.ToDouble(values[(int)Fields.YFactor], PNStatic.CultureInvariant); note.PinClass = values[(int)Fields.PinClass]; note.PinText = values[(int)Fields.PinText]; } return note; } return base.ConvertFrom(context, culture, value); }
internal static bool LoadNoteProperties(PNote note, DataRow r) { try { var sc = new SizeConverter(); var scd = new System.Drawing.SizeConverter(); var pc = new PointConverter(); note.FromDB = true; note.ID = (string)r["ID"]; note.Name = (string)r["NAME"]; note.GroupID = (int)r["GROUP_ID"]; note.PrevGroupID = (int)r["PREV_GROUP_ID"]; note.Opacity = (double)r["OPACITY"]; note.Visible = (bool)r["VISIBLE"]; note.Favorite = (bool)r["FAVORITE"]; note.Protected = (bool)r["PROTECTED"]; note.Completed = (bool)r["COMPLETED"]; note.Priority = (bool)r["PRIORITY"]; note.PasswordString = (string)r["PASSWORD_STRING"]; note.Pinned = (bool)r["PINNED"]; note.Topmost = (bool)r["TOPMOST"]; note.Rolled = (bool)r["ROLLED"]; note.DockStatus = (DockStatus)r["DOCK_STATUS"]; note.DockOrder = (int)r["DOCK_ORDER"]; note.SentReceived = (SendReceiveStatus)r["SEND_RECEIVE_STATUS"]; note.DateCreated = DateTime.Parse((string)r["DATE_CREATED"], PNStatic.CultureInvariant); note.DateSaved = DateTime.Parse((string)r["DATE_SAVED"], PNStatic.CultureInvariant); note.DateSent = DateTime.Parse((string)r["DATE_SENT"], PNStatic.CultureInvariant); note.DateReceived = DateTime.Parse((string)r["DATE_RECEIVED"], PNStatic.CultureInvariant); note.DateDeleted = DateTime.Parse((string)r["DATE_DELETED"], PNStatic.CultureInvariant); var convertFromString = sc.ConvertFromString(null, PNStatic.CultureInvariant, (string)r["SIZE"]); if (convertFromString != null) note.NoteSize = (Size)convertFromString; convertFromString = pc.ConvertFromString(null, PNStatic.CultureInvariant, (string)r["LOCATION"]); if (convertFromString != null) note.NoteLocation = (Point)convertFromString; convertFromString = scd.ConvertFromString(null, PNStatic.CultureInvariant, (string)r["EDIT_SIZE"]); if (convertFromString != null) note.EditSize = (System.Drawing.Size)convertFromString; note.XFactor = (double)r["REL_X"]; note.YFactor = (double)r["REL_Y"]; note.SentTo = (string)r["SENT_TO"]; note.ReceivedFrom = (string)r["RECEIVED_FROM"]; note.ReceivedIp = !PNData.IsDBNull(r["RECEIVED_IP"]) ? (string) r["RECEIVED_IP"] : ""; note.PinClass = (string)r["PIN_CLASS"]; note.PinText = (string)r["PIN_TEXT"]; note.Scrambled = !PNData.IsDBNull(r["SCRAMBLED"]) && (bool)r["SCRAMBLED"]; note.Thumbnail = !PNData.IsDBNull(r["THUMBNAIL"]) && (bool)r["THUMBNAIL"]; return loadNoteSchedule(note); } catch (Exception ex) { PNStatic.LogException(ex); return false; } }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType != typeof (string)) return base.ConvertTo(context, culture, value, destinationType); var note = value as PNote; if (note == null) return ""; var bt = new StringBuilder(); var dtc = new DateTimeConverter(); var szc = new SizeConverter(); var scd = new System.Drawing.SizeConverter(); var ptc = new PointConverter(); var scv = new ScheduleConverter(); var skc = new SkinlessConverter(); var sb = new StringBuilder(); sb.Append(note.Changed); sb.Append(DEL_NOTE); sb.Append(note.Completed); sb.Append(DEL_NOTE); sb.Append(note.CustomOpacity); sb.Append(DEL_NOTE); sb.Append(dtc.ConvertToString(null, PNStatic.CultureInvariant, note.DateCreated)); sb.Append(DEL_NOTE); sb.Append(dtc.ConvertToString(null, PNStatic.CultureInvariant, note.DateDeleted)); sb.Append(DEL_NOTE); sb.Append(dtc.ConvertToString(null, PNStatic.CultureInvariant, note.DateReceived)); sb.Append(DEL_NOTE); sb.Append(dtc.ConvertToString(null, PNStatic.CultureInvariant, note.DateSaved)); sb.Append(DEL_NOTE); sb.Append(dtc.ConvertToString(null, PNStatic.CultureInvariant, note.DateSent)); sb.Append(DEL_NOTE); sb.Append((int)note.DockStatus); sb.Append(DEL_NOTE); sb.Append(scd.ConvertToString(null, PNStatic.CultureInvariant, note.EditSize)); sb.Append(DEL_NOTE); sb.Append(note.Favorite); sb.Append(DEL_NOTE); sb.Append(note.FromDB); sb.Append(DEL_NOTE); sb.Append(note.GroupID); sb.Append(DEL_NOTE); sb.Append(note.ID); sb.Append(DEL_NOTE); foreach (var s in note.LinkedNotes) { bt.Append(s); bt.Append(DEL_INNER); } if (bt.Length > 0) bt.Length -= 1; sb.Append(bt); sb.Append(DEL_NOTE); sb.Append(note.Name); sb.Append(DEL_NOTE); sb.Append(ptc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteLocation)); sb.Append(DEL_NOTE); sb.Append(szc.ConvertToString(null, PNStatic.CultureInvariant, note.NoteSize)); sb.Append(DEL_NOTE); sb.Append(note.Opacity.ToString(PNStatic.CultureInvariant)); sb.Append(DEL_NOTE); sb.Append(note.PasswordString); sb.Append(DEL_NOTE); sb.Append(note.Pinned); sb.Append(DEL_NOTE); sb.Append(note.PrevGroupID); sb.Append(DEL_NOTE); sb.Append(note.Priority); sb.Append(DEL_NOTE); sb.Append(note.Protected); sb.Append(DEL_NOTE); sb.Append(note.ReceivedFrom); sb.Append(DEL_NOTE); sb.Append(note.Rolled); sb.Append(DEL_NOTE); sb.Append(scv.ConvertToString(note.Schedule)); sb.Append(DEL_NOTE); sb.Append((int)note.SentReceived); sb.Append(DEL_NOTE); sb.Append(note.SentTo); sb.Append(DEL_NOTE); sb.Append(note.Skin != null ? note.Skin.SkinName : ""); sb.Append(DEL_NOTE); sb.Append(note.Skinless != null ? skc.ConvertToString(note.Skinless) : ""); sb.Append(DEL_NOTE); bt = new StringBuilder(); foreach (var s in note.Tags) { bt.Append(s); bt.Append(DEL_INNER); } if (bt.Length > 0) bt.Length -= 1; sb.Append(bt); sb.Append(DEL_NOTE); sb.Append(note.Topmost); sb.Append(DEL_NOTE); sb.Append(note.Visible); sb.Append(DEL_NOTE); sb.Append(note.XFactor.ToString(PNStatic.CultureInvariant)); sb.Append(DEL_NOTE); sb.Append(note.YFactor.ToString(PNStatic.CultureInvariant)); sb.Append(DEL_NOTE); sb.Append(note.PinClass); sb.Append(DEL_NOTE); sb.Append(note.PinText); return sb.ToString(); }