コード例 #1
0
        private void SeedDatabase()
        {
            using (var context = new SupportTicketDbContext(_connectionString))
            {
                var products = new List <Product>()
                {
                    new Product()
                    {
                        Description = "P1"
                    },
                    new Product()
                    {
                        Description = "P2"
                    },
                    new Product()
                    {
                        Description = "P3"
                    }
                };

                foreach (var newProduct in products)
                {
                    var dbProduct =
                        context.Product.ToList().FirstOrDefault(p => p.Description.Equals(newProduct.Description));
                    if (dbProduct == null)
                    {
                        context.Product.AddOrUpdate(newProduct);
                    }
                }

                var severities = new List <Severity>()
                {
                    new Severity()
                    {
                        DisplayName = "Mild"
                    },
                    new Severity()
                    {
                        DisplayName = "Medium"
                    },
                    new Severity()
                    {
                        DisplayName = "Critical"
                    }
                };

                foreach (var newSeverity in severities)
                {
                    var dbSeverity =
                        context.Severity.ToList().FirstOrDefault(s => s.DisplayName.Equals(newSeverity.DisplayName));
                    if (dbSeverity == null)
                    {
                        context.Severity.AddOrUpdate(newSeverity);
                    }
                }

                context.SaveChanges(true);
            }
        }
コード例 #2
0
 public ICollection <Severity> GetSeverities()
 {
     using (var ctx = new SupportTicketDbContext(_connectionString))
     {
         var result = ctx.Severity.ToList();
         return(result);
     }
 }
コード例 #3
0
        public ICollection <Product> GetProducts()
        {
            using (var ctx = new SupportTicketDbContext(_connectionString))
            {
                var result = ctx.Product.ToList();
                return(result);
            }

            //return new List<Product>();
        }
コード例 #4
0
 public Ticket GetTicket(int ticketId)
 {
     using (var ctx = new SupportTicketDbContext(_connectionString))
     {
         var result = ctx.Tickets
                      .Include("Severity")
                      .Include("Product")
                      .FirstOrDefault(t => t.TicketId.Equals(ticketId));
         return(result);
     }
 }
コード例 #5
0
        public void Initialise(string connectionString)
        {
            _connectionString = connectionString;

            using (var context = new SupportTicketDbContext(connectionString))
            {
                context.Database.Migrate();
            }

            SeedDatabase();
        }
コード例 #6
0
 private ICollection <Ticket> GetActiveTicketsMatching(List <int> ticketIds)
 {
     using (var ctx = new SupportTicketDbContext(_connectionString))
     {
         var result = ctx.Tickets
                      .Include("Severity")
                      .Include("Product")
                      .Where(t => t.Active && ticketIds.Any(tid => tid == t.TicketId))
                      .ToList();
         return(result);
     }
 }
コード例 #7
0
        public ICollection <Ticket> GetActiveTickets()
        {
            using (var ctx = new SupportTicketDbContext(_connectionString))
            {
                var result = ctx.Tickets
                             .Include("Severity")
                             .Include("Product")
                             .Where(t => t.Active)
                             .ToList();
                return(result);
            }

            //return new List<Tickets>();
        }
コード例 #8
0
        public bool DeleteTicket(int ticketId)
        {
            using (var ctx = new SupportTicketDbContext(_connectionString))
            {
                var ticket = GetTicket(ticketId);
                if (ticket == null)
                {
                    return(false);
                }

                ctx.Remove(ticket);
                ctx.SaveChanges();
                return(true);
            }
        }
コード例 #9
0
        public Ticket UpdateTicket(Ticket ticket)
        {
            using (var ctx = new SupportTicketDbContext(_connectionString))
            {
                var result = ctx.Tickets
                             .First(t => t.TicketId == ticket.TicketId);

                result.Active      = ticket.Active;
                result.Description = ticket.Description;
                result.Problem     = ticket.Problem;
                result.ProductId   = ticket.ProductId;
                result.SeverityId  = ticket.SeverityId;

                ctx.SaveChanges();

                return(result);
            }
        }
コード例 #10
0
        public virtual Ticket AddTicket(Ticket ticket)
        {
            using (var ctx = new SupportTicketDbContext(_connectionString))
            {
                ticket.Product  = null;
                ticket.Severity = null;
                ctx.Tickets.Add(ticket);

                ctx.SaveChanges();

                var result = ctx.Tickets
                             .Include("Product")
                             .Include("Severity")
                             .FirstOrDefault(t => t.TicketId == ticket.TicketId);

                return(result);
            }

            // return new Tickets();
        }
コード例 #11
0
 public SQLRepo(SupportTicketDbContext context)
 {
     _context = context;
 }