public SeerefineIdentity(Login login, User user) { UserName = login.Username; Claims = login.Roles.Select(x => x.ToString()).ToArray(); ClientId = login.ClientId; Teams = new List<Tuple<string, string>>(); if (user != null) { Teams = new List<Tuple<string, string>>() { Tuple.Create(user.TeamId, user.TeamName), }; } }
public ManageUsersModule(ISessionProvider sessionProvider, IDispatchEvents eventDispatcher) : base(sessionProvider, eventDispatcher, "/manage/clients/{id}") { Get["/users/create"] = parameters => View["views/manage/_createUser.html", new {ClientId}]; Get["/users/list"] = parameters => { var users = RavenSession.Query<User>() .Where(x => x.ClientId == ClientId) .ToList(); var viewModel = new { data = users.Select(x => new {title = x.Id, content = x.Name}), }; return Response.AsJson(viewModel); }; Get["/users/wihtoutteam"] = parameters => { var users = RavenSession.Query<User>() .Where(x => x.ClientId == ClientId && x.TeamId == null); return Response.AsJson(users); }; Post["/users/create"] = parameters => { var command = this.Bind<CreateLoginCommand>(); if (command.AuthenticationKey == Guid.Empty) command.AuthenticationKey = Guid.NewGuid(); var login = new Login { AuthenticationKey = command.AuthenticationKey, ClientId = ClientId, Username = command.UserName, Password = command.Password, Roles = new List<Roles> {Roles.ClientUser}, }; RavenSession.Store(login); var user = new User { ClientId = ClientId, Name = Request.Form["Name"], LoginId = login.Id, }; RavenSession.Store(user); RavenSession.Store(new UserNameAndPasswordIsUnique { Id = command.ToUniqueString(), AuthenticationKey = command.AuthenticationKey, }); RavenSession.SaveChanges(); return HttpStatusCode.NoContent; }; }
public void Multiple_reminders_should_result_in_multiple_verificationquestions_on_DetailViewModel() { var authenticationKey = Guid.NewGuid(); var browser = new Browser(with => { with.ApplicationStartup(Bootstrapper.ApplicationConfiguration); with.AllDiscoveredModules(); with.EnableAutoRegistration(); }); using (var session = new RavenSessionProvider().GetSession()) { var login = new Login { AuthenticationKey = authenticationKey, ClientId = "clients/1", Username = "******", Password = "******", Roles = new List<Roles>() {Roles.ClientUser}, }; session.Store(login); session.Store(new User { ClientId = "clients/1", LoginId = login.Id, Name = "Anna", TeamId = "clients/1/teams/1", TeamName = "Team 1", }); session.Store(new ScheduleItem { ClientId = "clients/1", Date = "20130711", CurrentStatus = ScheduleItemStatus.CheckedIn, }); session.Store(new SectionDetail { ClientId = "clients/1", Id = "clients/1/sites/1/infosections/1/details/1", }); session.SaveChanges(); } var response = browser .Post("/weblogin", with => { with.HttpRequest(); with.FormValue("UserName", "Anna"); with.FormValue("Password", "Sommar"); }) .Then .Post("/process/clients/1/scheduleItems/1/detailnotes", with => { with.HttpRequest(); with.JsonBody(new DetailNotesAdded { SectionDetailId = "clients/1/sites/1/infosections/1/details/1", Timestamp = "Thu Jul 11 2013 10:53:21 GMT+02:00 (CEST)", orderItems = new[] {new OrderItem { units = "1st", name = "fuxia", }, }, Reminders = new List<string>() { "Check waterlevel", "Shaping", }, }); }); Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); using (var session = new RavenSessionProvider().GetSession()) { var detail = session.Load<SectionDetail>("clients/1/sites/1/infosections/1/details/1"); Assert.NotEmpty(detail.VerificationQuestion); } }