public void Clear()
 {
     if (Customers != null)
     {
         Customers.Clear();
     }
     instance = null;
 }
 public static CustomerCache GetInstance()
 {
     if (instance == null)
     {
         instance = new CustomerCache();
     }
     return(instance);
 }
Example #3
0
 private ProjectCache()
 {
     lock (dummy)
     {
         if (Projects == null)
         {
             Projects = new List <Project>();
         }
         Projects?.Clear();
         Project project;
         DBFunctions.GetInstance().OpenConnection();
         using (SQLiteDataReader reader = DBFunctions.GetInstance().GetReader("Select Id, Name, CustomerId, OrderStatus, PoDate, PoNumber, QuoteNumber, StartDate, Quantity, Description, DeadlineDate from Projects"))
         {
             while (reader.Read())
             {
                 project          = new Project();
                 project.Id       = (Int64)reader[0];
                 project.Name     = reader[1].ToString();
                 project.Customer = new Customer {
                     Id = (Int64?)reader[2]
                 };
                 project.OrderStatus = Enum.Parse <Project.ProjectOrderStatus>(reader[3].ToString());
                 project.PoDate      = DateTimeOffset.Parse(reader[4].ToString());
                 project.PoNumber    = reader[5].ToString();
                 project.QuoteNumber = reader[6].ToString();
                 project.StartDate   = DateTimeOffset.Parse(reader[7].ToString());
                 project.Quantity    = (Decimal)reader[8];
                 project.Description = reader[9].ToString();
                 string deadlineDate = reader[10].ToString();
                 if (String.IsNullOrEmpty(deadlineDate))
                 {
                     project.Deadline = null;
                 }
                 else
                 {
                     project.Deadline = DateTimeOffset.Parse(deadlineDate);
                 }
                 Projects.Add(project);
             }
             reader.Close();
         }
         foreach (var p in Projects)
         {
             p.Customer  = CustomerCache.GetInstance().GetById(p.Customer.Id);
             p.Processes = ProcessCache.GetInstance().GetByProjectId(p.Id);
         }
     }
 }