// 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(); }