Beispiel #1
0
        public Ticket UpdateTicket(Ticket ticket)
        {
            var result = EfHelpers.Execute(
                _context,
                $"Could not update ticket {ticket.TicketId}",
                ctx =>
            {
                var innerResult = ctx.Tickets
                                  .First(t => t.TicketId == ticket.TicketId);

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

                ctx.SaveChanges();

                // Refetch it from the database (if you want an extra layer of surety)
                // a waste of resources though!
                // innerResult = ctx.Tickets.FirstOrDefault(t => t.TicketId.Equals(ticket.TicketId));
                return(innerResult);
            }
                );

            return(result);
        }
Beispiel #2
0
 private void AddUser(User user)
 {
     EfHelpers.Execute(_context, "Could not add user to the database.",
                       ctx =>
     {
         ctx.Users.Add(user);
         ctx.SaveChanges();
         return(user);
     });
 }
Beispiel #3
0
 private void MigrateDb()
 {
     EfHelpers.Execute <object, UsersDbContext>(
         _context,
         "Could not migrate database.  Database operation failed.",
         ctx =>
     {
         ctx.Database.Migrate();
         return(null);
     });
 }
 public LambdaParseTests()
 {
     _textContext = new TestContext(EfHelpers.CreateEfInMemoryContextOptions <TestContext>("TestContext"));
     _textContext.Persons.Add(new Person {
         PersonId = "1", LastName = "Jones"
     });
     _textContext.SaveChanges();
     _serviceProvider = new Mock <IServiceProvider>();
     _serviceProvider
     .Setup(provider => provider.GetService(typeof(QueryService <Person, TestContext>)))
     .Returns(new QueryService <Person, TestContext>(_textContext));
 }
Beispiel #5
0
        private User GetUser(string userName)
        {
            var result = EfHelpers.Execute(_context,
                                           "Could not get user from the database",
                                           ctx => {
                var theUser = ctx.Users.FirstOrDefault(u =>
                                                       u.Username.Equals(userName));

                return(theUser);
            });

            return(result);
        }
Beispiel #6
0
        public User GetUserMatching(string userName, string password)
        {
            var result = EfHelpers.Execute(_context,
                                           $"Could not get user matching {userName}. The database operation failed.",
                                           ctx =>
            {
                return(ctx.Users.FirstOrDefault(user =>
                                                user.Username.Equals(userName) &&
                                                user.Password.Equals(password)));
            });

            return(result);
        }
Beispiel #7
0
        public User Get(int id)
        {
            var result = EfHelpers.Execute(
                _context,
                "Could not get users from the database",
                ctx =>
            {
                var theUser = ctx.Users.FirstOrDefault(u => u.Id.Equals(id));
                theUser     = ClearUserSecrets(theUser);
                return(theUser);
            });

            return(result);
        }
Beispiel #8
0
        public Ticket GetTicket(int ticketId)
        {
            var result = EfHelpers.Execute(
                _context,
                $"Could not GetTicket({ticketId})",
                ctx =>
            {
                var ticket = ctx.Tickets
                             .Include("Severity")
                             .Include("Product")
                             .FirstOrDefault(t => t.TicketId.Equals(ticketId));
                return(ticket);
            }
                );

            return(result);
        }
Beispiel #9
0
        public ICollection <Ticket> GetActiveTickets()
        {
            var result = EfHelpers.Execute(
                _context,
                "Could not get active tickets from the database",
                ctx =>
            {
                var tickets = ctx.Tickets
                              .Include("Severity")
                              .Include("Product")
                              .Where(t => t.Active)
                              .ToList();
                return(tickets);
            });

            return(result);
        }
Beispiel #10
0
        private ICollection <Ticket> GetActiveTicketsMatching(List <int> ticketIds)
        {
            var result = EfHelpers.Execute(
                _context,
                $"Could not get active tickets matching ticketIds:{string.Join(',', ticketIds)}",
                ctx =>
            {
                var tickets = ctx.Tickets
                              .Include("Severity")
                              .Include("Product")
                              .Where(t => t.Active && ticketIds.Any(tid => tid == t.TicketId))
                              .ToList();
                return(tickets);
            }
                );

            return(result);
        }
Beispiel #11
0
        public virtual Ticket AddTicket(Ticket ticket)
        {
            var result = EfHelpers.Execute(
                _context,
                $"Could not add ticketId: {ticket.TicketId} ",
                ctx =>
            {
                ticket.Product  = null;
                ticket.Severity = null;
                ctx.Tickets.Add(ticket);

                ctx.SaveChanges();

                return(ticket);
            }
                );

            return(result);
        }
Beispiel #12
0
        private void SeedDatabase()
        {
            EfHelpers.Execute(_context,
                              "Could not seed users database", ctx =>
            {
                var user = new User()
                {
                    FirstName = "Joe",
                    LastName  = "Soap",
                    Password  = "******",
                    Username  = "******",
                    Token     = string.Empty
                };

                ctx.Users.AddOrUpdate(user);

                ctx.SaveChanges();
                return(user);
            });
        }
Beispiel #13
0
        public IEnumerable <User> GetAllUsers()
        {
            var result = EfHelpers.Execute(
                _context,
                "Could not get all users.  The database operation failed.",
                ctx =>
            {
                var users = _context.Users.Select(u =>
                                                  new User()
                {
                    FirstName = u.FirstName,
                    LastName  = u.LastName,
                    Username  = u.Username
                }
                                                  );
                return(users);
            });

            return(result);
        }