public List<PushPinModel> GetAddressList() { FreeQ_DBEntities context = new FreeQ_DBEntities(); FreeQ_WS.Classes.FreeQ_DataContext db = new Classes.FreeQ_DataContext(); List<PushPinModel> ppl = new List<PushPinModel>(); geoloc l; List<string> la = (from a in context.Queue.Where("1 == 1") where a.Queue_Address.Length != 0 select a.Queue_Address).ToList<string>(); foreach (string a in la) { l = this.GeocodeAddress(a); //add the pushpin info ppl.Add(new PushPinModel { Description = a, Latitude = l.lat, Longitude = l.lon, Title = "" }); } db.Dispose(); context.Dispose(); return ppl; }
public List<Participant> GetParticipants(Guid queueID) { FreeQ_DBEntities db = new FreeQ_DBEntities(); List<Ticket> lt; List<Participant> lp = new List<Participant>(); lt = (from q in db.Ticket where q.Ticket_Queue_ID == queueID orderby q.Ticket_CreationDate select q).ToList<Ticket>(); foreach (Ticket t in lt) { Participant nP = new Participant(); nP.CreationDate = t.Ticket_CreationDate; nP.Email = t.Ticket_Email; nP.TicketIncrement = t.Ticket_Increment; nP.Password = t.Ticket_Password; nP.State = t.Ticket_State.Ticket_State_Name; lp.Add(nP); } return lp; }
public Queue GetQueue(FreeQ_DBEntities db, Guid queueID) { Queue queue = null; try { queue = (from q in db.Queue where q.Queue_ID == queueID select q).First<Queue>(); } catch { } return queue; }
public Queue CreateQueue(Queue q) { this.Validate(q); q.Queue_CreationDate = DateTime.Now; q.Queue_ID = System.Guid.NewGuid(); FreeQ_DBEntities db = new FreeQ_DBEntities(); db.Queue.AddObject(q); db.SaveChanges(); return q; }
public Ticket GetTicket(FreeQ_DBEntities db, Guid ticketID) { Ticket ticket = null; try { ticket = (from q in db.Ticket where q.Ticket_ID == ticketID select q).First<Ticket>(); } catch { } return ticket; }
public void DisableQueue(Guid queueID) { Queue queue = null; try { FreeQ_DBEntities db = new FreeQ_DBEntities(); queue = this.GetQueue(db, queueID); queue.Queue_IsActive = false; int result = db.SaveChanges(); } catch { } }
public Ticket GetTicket(long universalIncrement) { Ticket ticket = null; try { FreeQ_DBEntities db = new FreeQ_DBEntities(); ticket = (from q in db.Ticket where q.Ticket_UniversalIncrement == universalIncrement select q).First<Ticket>(); } catch { } return ticket; }
public Ticket GenerateNextTicket(Guid queueID, string email) { Random random = new Random(); Ticket ticket = new Ticket(); HelperClass_Queue hcq = new HelperClass_Queue(); Queue queue = hcq.GetQueue(queueID); try { if (!hcq.IsActive(queue)) throw new Exception("This queue isn't active; no ticket can be created."); ticket.Ticket_ID = System.Guid.NewGuid(); FreeQ_DBEntities db = new FreeQ_DBEntities(); ticket.Ticket_UniversalIncrement = (from q in db.Ticket select q.Ticket_UniversalIncrement).Max() + 1; if (ticket.Ticket_UniversalIncrement == null) ticket.Ticket_UniversalIncrement = ticket.Ticket_Increment + 1; ticket.Ticket_Increment = queue.Queue_Next_Increment; ticket.Ticket_Password = random.Next(1000).ToString(); ticket.Ticket_Queue_ID = queueID; ticket.Ticket_Email = email; ticket.Ticket_StateID = 1; ticket.Ticket_CreationDate = DateTime.Now; db.Ticket.AddObject(ticket); int result = db.SaveChanges(); hcq.NextIncrement(ticket.Ticket_ID, queueID); } catch { } return ticket; }
public Queue GetQueue(Guid queueID) { FreeQ_DBEntities db = new FreeQ_DBEntities(); return GetQueue(db, queueID); }
public void ValidateCurrentTicket(Guid queueID, bool cancel) { Queue queue = null; try { FreeQ_DBEntities db = new FreeQ_DBEntities(); queue = this.GetQueue(db, queueID); HelperClass_Ticket hct = new HelperClass_Ticket(); HelperClass_Queue hcq = new HelperClass_Queue(); if (!hcq.IsActive(queue)) throw new Exception("This queue isn't active; you can't handle tickets anymore."); if (queue.Queue_Current_Ticket_ID == null) { List<Ticket> tickets = (from t in db.Ticket where t.Ticket_Queue_ID == queueID orderby t.Ticket_ID select t).ToList<Ticket>(); if (tickets.Count > 0) queue.Queue_Current_Ticket_ID = tickets[0].Ticket_ID; } else { Ticket t = hct.GetTicket(db, (Guid)queue.Queue_Current_Ticket_ID); if (t == null) return; if (cancel) t.Ticket_StateID = 3; else t.Ticket_StateID = 2; List<Ticket> tickets = (from ti in db.Ticket where ti.Ticket_Queue_ID == queueID && ti.Ticket_UniversalIncrement > t.Ticket_UniversalIncrement orderby ti.Ticket_ID select ti). ToList<Ticket>(); if (tickets.Count > 0) queue.Queue_Current_Ticket_ID = tickets[0].Ticket_ID; } int result = db.SaveChanges(); // Send alert Ticket ct = hct.GetTicket(db, (Guid)queue.Queue_Current_Ticket_ID); List<Ticket> nextTicket = (from ti in db.Ticket where ti.Ticket_Queue_ID == queueID && ti.Ticket_UniversalIncrement == ct.Ticket_UniversalIncrement + 2 orderby ti.Ticket_ID select ti).ToList<Ticket>(); if (nextTicket.Count == 1 && !String.IsNullOrEmpty(nextTicket[0].Ticket_Email)) { HelperClass_Email.SendEmail(nextTicket[0].Ticket_Email, "Quddle - it is almost your turn!", "Hey, only 2 persons are in front of you ; it is time to go..."); } } catch { } }
public bool UpdateQueue(Queue q) { this.Validate(q); FreeQ_DBEntities db = new FreeQ_DBEntities(); try { Queue queue = db.Queue.Single<Queue>(p => p.Queue_ID == q.Queue_ID); queue.Queue_Name = q.Queue_Name; queue.Queue_Next_Increment = q.Queue_Next_Increment; queue.Queue_Address = q.Queue_Address; queue.Queue_IsActive = q.Queue_IsActive; db.SaveChanges(); return true; } catch { return false; } }
public Queue NextIncrement(Guid currentTicketID, Guid queueID) { Queue queue = null; try { FreeQ_DBEntities db = new FreeQ_DBEntities(); queue = this.GetQueue(db, queueID); if (queue.Queue_ResetAtMidnight && queue.Queue_Date_LastIncrement < DateTime.Now.Date) queue.Queue_Next_Increment = 1; else queue.Queue_Next_Increment += 1; if (queue.Queue_ResetAtMaxReached && queue.Queue_Next_Increment == queue.Queue_MaxLimit) queue.Queue_Next_Increment = 1; queue.Queue_Date_LastIncrement = DateTime.Now.Date; if (queue.Queue_Current_Ticket_ID == null) queue.Queue_Current_Ticket_ID = currentTicketID; int result = db.SaveChanges(); } catch { } return queue; }
public List<Queue> GetQueues(Guid userID) { FreeQ_DBEntities db = new FreeQ_DBEntities(); List<Queue> queues = new List<Queue>(); return (from q in db.Queue where q.Queue_UserID == userID select q).ToList<Queue>(); }
public Ticket GetTicket(Guid ticketID) { FreeQ_DBEntities db = new FreeQ_DBEntities(); return this.GetTicket(db, ticketID); }
public void UpdateAlertEmail(Guid ticketID, string alertEmail) { FreeQ_DBEntities db = new FreeQ_DBEntities(); Ticket t = this.GetTicket(db, ticketID); t.Ticket_Email = alertEmail; db.SaveChanges(); }