public IActionResult AddUser([FromBody] UserSimple User) { try{ if (User.email == null) { return(Unauthorized(new { error = "Email not found." })); } if (!Helpers.IsValidEmail(User.email)) { return(Unauthorized(new { error = "Formato do email inválido." })); } if (User.language == null) { return(Unauthorized(new { error = "Language not found." })); } if (User.company_name == null) { return(Unauthorized(new { error = "Company name not found." })); } if (User.phone == null) { return(Unauthorized(new { error = "Phone not found." })); } //TODO: Verificar posteriormente o formato do páis. if (!Helpers.IsValidPhone(User.phone, "BR")) { return(Unauthorized(new { error = "Formato de telefone inválido." })); } var email = _csxContext.Users.Any(x => x.email == User.email); if (email) { return(NotFound(MessageEmailExists(User.language))); } var user = DefaultValues(User); var tokenString = Token.Factory(user); //Result is the token. return(Ok(new { authenticated = true, accessToken = tokenString })); } catch (Exception ex) { return(Unauthorized(new{ autenticated = false, error = "Create user error!", ex = ex })); throw ex; } }
public async Task GetUserSimple() { var user = new UserSimple() { Id = Guid.NewGuid(), FirstName = "1", LastName = "2", BranchId = Guid.NewGuid() }; var service = new Mock <IUserService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); service.Setup(c => c.GetUserSimple(It.IsAny <ScopeOptions>(), It.Is <Guid>(m => m == user.Id))) .ReturnsAsync(user); var controller = new UsersController(service.Object, authService.Object); controller.ControllerContext = TestHelper.GetControllerContext(new ClaimsPrincipal()); var result = await controller.GetUserSimple(user.Id); var okResult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <UserSimple>(okResult.Value); Assert.Same(user, returnValue); }
/// <summary> /// Get all Mentioned Users /// </summary> /// <param name="context"> /// The context. /// </param> public void GetMentionUsers([NotNull] HttpContext context) { try { if (YafContext.Current == null) { context.Response.Write( "Error: Resource has been moved or is unavailable. Please contact the forum admin."); return; } var searchQuery = context.Request.QueryString.GetFirstOrDefault("users"); var usersList = YafContext.Current.GetRepository <User>().Get( user => this.Get <YafBoardSettings>().EnableDisplayName ? user.DisplayName.StartsWith(searchQuery) : user.Name.StartsWith(searchQuery)); var users = new List <UserSimple>(); usersList.ForEach( user => { // Check if user is blocked if (this.Get <IUserIgnored>().IsIgnored(user.ID)) { return; } var userSimple = new UserSimple { UserName = this.Get <YafBoardSettings>().EnableDisplayName ? user.DisplayName : user.Name }; users.Add(userSimple); }); context.Response.Clear(); context.Response.ContentType = "application/json"; context.Response.ContentEncoding = Encoding.UTF8; context.Response.Write(users.ToJson()); HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch (Exception x) { this.Get <ILogger>().Log(YafContext.Current.PageUserID, this, x, EventLogTypes.Information); context.Response.Write( "Error: Resource has been moved or is unavailable. Please contact the forum admin."); } }
public ProjectReturnBindingModel Convert(Project project) { if (project != null) { var laboratory = new LaboratoryReturnBindingModels() { Id = project.Laboratory.Id, Descricao = project.Laboratory.Descricao }; var projeto = new ProjectReturnBindingModel() { Id = project.Id, Descricao = project.Descricao, Titulo = project.Titulo, DataCriacao = project.DataCriacao, }; var membros = new List <UserSimple>(); var posts = new List <PostBindModel>(); foreach (User u in project.Laboratory.Users) { UserSimple simpleUser = new UserSimple(); simpleUser.Id = u.Id; simpleUser.Nome = u.Nome; simpleUser.Email = u.Email; membros.Add(simpleUser); } foreach (Core.Models.Post p in project.Posts) { PostBindModel post = new PostBindModel() { Id = p.Id.ToString(), Mensagem = p.Mensagem, Autor = p.Autor.Nome, UrlDocumento = p.UrlDocumento, DataDePublicacao = p.DataPublicacao }; posts.Add(post); } posts.Reverse(); projeto.Posts = posts; projeto.Membros = membros; projeto.laboratory = laboratory; return(projeto); } return(null); }
public async Task GetUsersSimple() { var user = new UserSimple() { Id = Guid.NewGuid(), FirstName = "1", LastName = "2", }; var pagedItems = new PagedItems <UserSimple>() { TotalItems = 1, Items = new List <UserSimple>() { user } }; var service = new Mock <IUserService>(); var authService = TestHelper.MockAuthenticationService(Scope.Branch); ScopeOptions queryOptions = null; service.Setup(c => c.GetUsersSimple(It.IsAny <ScopeOptions>())) .Callback((ScopeOptions options) => queryOptions = options) .ReturnsAsync(pagedItems); var controller = new UsersController(service.Object, authService.Object); controller.ControllerContext = TestHelper.GetControllerContext(new ClaimsPrincipal()); var result = await controller.GetUsersSimple(); Assert.Equal(Scope.Branch, queryOptions.Scope); var okResult = Assert.IsType <OkObjectResult>(result); var returnValue = Assert.IsType <PagedItems <UserSimple> >(okResult.Value); Assert.Same(pagedItems, returnValue); }
public Users DefaultValues(UserSimple User) { var password = User.password; var password_origem = User.password; using (MD5 md5Hash = MD5.Create()) { password = Token.GetMd5Hash(md5Hash, User.password); } Companies _companie = new Companies(); Users _user = new Users(); //Default data User _user.full_name = User.full_name; _user.email = User.email; _user.password = password; _user.createdat = DateTime.Now; _user.last_acess = DateTime.Now; _user.type_user = 1; _user.fk_company_default = _companie.id_company; _user.phone = User.phone; _csxContext.Users.Add(_user); //Default data Company _companie.full_name = User.company_name; _companie.createdat = DateTime.Now; _companie.fk_user_create = _user.id_user; _companie.days_contract = 30; _companie.plan = "FREE"; _csxContext.Companies.Add(_companie); CompanyUsers _companieUser = new CompanyUsers(); _companieUser.fk_user = _user.id_user; _companieUser.fk_user_create = _user.id_user; _companieUser.fk_company = _companie.id_company; _companieUser.createdat = DateTime.Now; _companieUser.updatedat = DateTime.Now; _companieUser.fk_role = 1; _csxContext.CompanyUsers.Add(_companieUser); Surveys _survey = new Surveys(); _survey.title = DefaultSurveyTitle(User.language); _survey.description = DefaultSurveyDescription(User.language); _survey.active = true; _survey.fk_company = _companie.id_company; _survey.createdat = DateTime.Now; _survey.updatedat = DateTime.Now; _survey.fk_user_create = _user.id_user; _survey.language = DefaultLanguage(User.language); _csxContext.Surveys.Add(_survey); _csxContext.SaveChanges(); //Update CompanyId on User var newUser = _csxContext.Users.Find(_user.id_user); newUser.fk_company_default = _companie.id_company; _csxContext.Users.Update(newUser); //Generate MD5 URL Survey var newSurvey = _csxContext.Surveys.Find(_survey.id_survey); _csxContext.Surveys.Update(newSurvey); _csxContext.SaveChanges(); //TODO: Configurar email e tirar comentário //SendEmail.WelcomeUser(_user, _companie, password_origem); return(_user); }