Skip to content

Instantly share code, notes, and snippets.

@wayne-o
Created August 23, 2010 08:23
Show Gist options
  • Save wayne-o/545069 to your computer and use it in GitHub Desktop.
Save wayne-o/545069 to your computer and use it in GitHub Desktop.
using System;
using System.Linq;
using System.Collections.Generic;
using SQLite;
namespace GuideStar.Data
{
public class Act : BaseEntity
{
[Indexed]
public string Name { get; set; }
public string LogoImgFileName { get; set; }
public string Text { get; set; }
#region Acts
public static void InsertOrUpdateAct (GuideStar.Data.Act act)
{
try {
if (!act.Deleted) {
GuideStar.Data.Database.Main.Insert (act, "OR REPLACE");
} else {
GuideStar.Data.Database.Main.Delete<Act> (act);
}
} catch (Exception ex) {
Console.WriteLine ("InsertOrUpdateAct failed: " + ex.Message);
}
}
public static GuideStar.Data.Act GetActById (long id)
{
var q = from s in GuideStar.Data.Database.Main.Table<Act> ()
where s.Id == id
select s;
return q.FirstOrDefault ();
}
public static GuideStar.Data.Act GetActByName (string name)
{
var q = from s in GuideStar.Data.Database.Main.Table<Act> ()
where s.Name == name
select s;
return q.FirstOrDefault ();
}
public static List<GuideStar.Data.Act> Search(string srch){
string sql = string.Format ("select Name, Id from Act where Name like '%{0}%'", srch);
return GuideStar.Data.Database.Main.Query<Act> (sql, string.Empty);
}
public static List<Act> GetAllActs ()
{
var q = from s in GuideStar.Data.Database.Main.Table<Act> ()
select s;
return q.ToList ();
}
public static List<Act> GetActsByIds (List<long> ids)
{
if (ids.Count > 0) {
var sids = new List<string> ();
foreach (long item in ids) {
sids.Add (item.ToString ());
}
var csl = string.Join (", ", sids.ToArray ());
string sql = string.Format ("select Id, Name from Act where Id in ({0})", csl);
var q = GuideStar.Data.Database.Main.Query<Act> (sql, string.Empty);
return q;
} else {
return new List<Act> ();
}
}
#endregion
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment