Esempio n. 1
0
        // Navigation methods

        private void Save()
        {
            var timeEntryContext = new TimeEntryContext();

            timeEntryContext.TimeEntries.Add(NewTimeEntry);
            timeEntryContext.SubmitChanges(ChangesSubmitted, null);
        }
        public IActionResult ValidateUser(UserRequest userRequest)
        {
            using (var context = new TimeEntryContext())
            {
                GenerateTimeEntryData.GenerateDataIfRequired();

                var timeEntryUser = context.TimeEntryUsers.FirstOrDefault(u => u.UserName == userRequest.UserName);

                if (timeEntryUser == null)
                {
                    return(Ok(false));
                }

                var security = context.Securities.FirstOrDefault(s => s.UserId == timeEntryUser.Id);
                if (security == null)
                {
                    // for this sample, we will create a security entry for the user using the supplied password
                    security = new Security()
                    {
                        UserId = timeEntryUser.Id,
                        Salt   = GenerateSalt()
                    };

                    security.Password = HashPassword(userRequest.Password, security.Salt);
                    context.Securities.Add(security);
                    context.SaveChanges();

                    // In the real world, we would, of course:
                    //return Ok(false);
                }

                return(Ok(DoPasswordsMatch(userRequest.Password, security.Salt, security.Password)));
            }
        }
        public IActionResult GetUsers()
        {
            //return new JsonResult(from c in User.Claims select new { c.Type, c.Value });

            using (var context = new TimeEntryContext())
            {
                var users = context.TimeEntryUsers.Select(u => new { u.Id, u.UserName }).ToList();
                return(new JsonResult(users));
            }
        }
 protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_context != null)
         {
             _context.Dispose();
             _context = null;
         }
     }
 }
        public IActionResult GetAuthenticatedUser(UserRequest userRequest)
        {
            using (var context = new TimeEntryContext())
            {
                var timeEntryUser = context.TimeEntryUsers.Include("Role").FirstOrDefault(u => u.UserName == userRequest.UserName);

                if (timeEntryUser == null)
                {
                    return(NotFound());
                }

                var user = new User()
                {
                    Name         = timeEntryUser.UserName,
                    FriendlyName = timeEntryUser.DisplayName,
                    Id           = timeEntryUser.Id,
                };

                var roles = new List <string>();
                switch (timeEntryUser.Role.Name)
                {
                case TimeEntryRoles.Admin:
                    roles.Add(TimeEntryRoles.Admin);
                    roles.Add(TimeEntryRoles.Consultant);
                    break;

                case TimeEntryRoles.Consultant:
                    roles.Add(TimeEntryRoles.Consultant);
                    roles.Add(TimeEntryRoles.ReportViewer);
                    break;

                case TimeEntryRoles.ReportViewer:
                    roles.Add(TimeEntryRoles.ReportViewer);
                    break;

                default:
                    break;
                }

                user.Roles = roles;
                user.Authenticate();


                return(Ok(user));
            }
        }
 private GenerateTimeEntryData()
 {
     _context = new TimeEntryContext();
 }