Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        /// <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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
        }