public static ProcessCache GetInstance()
 {
     if (instance == null)
     {
         instance = new ProcessCache();
     }
     return(instance);
 }
示例#2
0
 internal List <Employee> UpdateAllQSizes()
 {
     foreach (var emp in Employees)
     {
         emp.QSize = ProcessCache.GetInstance().GetByEmployeeId(emp.Id).FindAll(p => p.Status != Process.ProcessStatus.Completed).Count;
     }
     return(Employees);
 }
 public void Clear()
 {
     if (Processes != null)
     {
         Processes.Clear();
     }
     instance = null;
 }
 public List <Resource> UpdateAllQSizes()
 {
     foreach (var res in Resources)
     {
         res.QSize = ProcessCache.GetInstance().GetByResourceId(res.Id).FindAll(p => p.Status != Process.ProcessStatus.Completed).Count;
     }
     return(Resources);
 }
示例#5
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);
         }
     }
 }