public static ProcessCache GetInstance() { if (instance == null) { instance = new ProcessCache(); } return(instance); }
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); }
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); } } }