Ejemplo n.º 1
0
        public async Task <ActionResult <IndicatorsGraphProxy> > GetIndicatorsGraph(int selectedYear)
        {
            var totalStudents = await _context.Set <Student>().CountAsync();

            var totalMembers = await _context.Set <Member>().CountAsync();

            var totalStudentsPerMonth = await GetClassImpacted(selectedYear);

            return(new IndicatorsGraphProxy
            {
                TotalStudents = totalStudents,
                TotalMembers = totalMembers,
                TotalStudentsPerMonth = totalStudentsPerMonth
            });
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <WebApiMessageOnly> > Update(ChangeStudentDto dto, [FromServices] ICrudServices service)
        {
            var student = await _context.Set <Student>().FirstOrDefaultAsync(m => m.Id == dto.Id);

            if (student == null)
            {
                return(StatusCode(404, new
                {
                    Message = "O membro com essa identificação não foi encontrado",
                    Status = 404
                }));
            }

            student.Age     = dto.Age ?? student.Age;
            student.Date    = dto.Date ?? student.Date;
            student.Name    = dto.Name ?? student.Name;
            student.Type    = dto.Type ?? student.Type;
            student.Email   = dto.Email ?? student.Email;
            student.Month   = dto.Month ?? student.Month;
            student.Phone   = dto.Phone ?? student.Phone;
            student.Gender  = dto.Gender ?? student.Gender;
            student.Invoice = dto.Invoice ?? student.Invoice;

            service.UpdateAndSave(student);

            return(service.Response());
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <TokenProxy> > Authenticate(
            [FromBody] LoginPayload loginPayload,
            [FromServices] SigningConfigurations signingConfigurations,
            [FromServices] TokenConfigurations tokenConfigurations
            )
        {
            var user = await _context.Set <User>().FirstOrDefaultAsync(u => u.Email == loginPayload.Email);

            if (user == null)
            {
                return(StatusCode(404, new
                {
                    Message = "O usuário com esse e-mail não foi encontrado",
                    Status = 404
                }));
            }

            if (user.Password != loginPayload.Password.HashMD5())
            {
                return(BadRequest(new
                {
                    Message = "A senha está incorreta.",
                    Status = 400
                }));
            }

            var identity = new ClaimsIdentity(
                new[]
            {
                new Claim(ClaimTypes.Name, user.Id.ToString()),
                new Claim(ClaimTypes.Role, user.Roles)
            }
                );

            var dataCriacao   = DateTime.Now;
            var dataExpiracao = dataCriacao + TimeSpan.FromSeconds(tokenConfigurations.Seconds);

            var handler       = new JwtSecurityTokenHandler();
            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = tokenConfigurations.Issuer,
                Audience           = tokenConfigurations.Audience,
                SigningCredentials = signingConfigurations.SigningCredentials,
                Subject            = identity,
                NotBefore          = dataCriacao,
                Expires            = dataExpiracao
            });

            var token = handler.WriteToken(securityToken);


            return(StatusCode(200, new TokenProxy
            {
                Created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"),
                Expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"),
                Token = $"Bearer {token}"
            }));
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <WebApiMessageOnly> > Update(ChangeMemberDto dto, [FromServices] ICrudServices service)
        {
            var member = await _context.Set <Member>().FirstOrDefaultAsync(m => m.Id == dto.Id);

            if (member == null)
            {
                return(StatusCode(404, new
                {
                    Message = "O membro com essa identificação não foi encontrado",
                    Status = 404
                }));
            }

            member.Age                  = dto.Age ?? member.Age;
            member.Email                = dto.Email ?? member.Email;
            member.Job                  = dto.Job ?? member.Job;
            member.Name                 = dto.Name ?? member.Name;
            member.Tags                 = dto.Tags ?? member.Tags;
            member.Group                = dto.Group ?? member.Group;
            member.Phone                = dto.Phone ?? member.Phone;
            member.Gender               = dto.Gender ?? member.Gender;
            member.Address              = dto.Address ?? member.Address;
            member.Twitter              = dto.Twitter ?? member.Twitter;
            member.Website              = dto.Website ?? member.Website;
            member.Facebook             = dto.Facebook ?? member.Facebook;
            member.Interest             = dto.Interest ?? member.Interest;
            member.Projects             = dto.Projects ?? member.Projects;
            member.Last_name            = dto.Last_name ?? member.Last_name;
            member.Signature            = dto.Signature ?? member.Signature;
            member.Newsletter           = dto.Newsletter ?? member.Newsletter;
            member.Cad_software         = dto.Cad_software ?? member.Cad_software;
            member.Invoice_disabled     = dto.Invoice_disabled ?? member.Invoice_disabled;
            member.Validated_training   = dto.Validated_training ?? member.Validated_training;
            member.Number_Invoices      = dto.Number_Invoices ?? member.Number_Invoices;
            member.Ecocience            = dto.Ecocience ?? member.Ecocience;
            member.Organization         = dto.Organization ?? member.Organization;
            member.Organization_Address = dto.Organization_Address ?? member.Organization_Address;
            member.Aux_Group            = dto.Aux_Group ?? member.Aux_Group;
            member.Aux_Training         = dto.Aux_Training ?? member.Aux_Training;
            member.Aux_Group_Training   = dto.Aux_Group_Training ?? member.Aux_Group_Training;

            service.UpdateAndSave(member);

            return(service.Response());
        }
Ejemplo n.º 5
0
        public User BizAction(CreateUserDTO inputData)
        {
            if (_context.Set <User>().Any(user => user.Email == inputData.Email))
            {
                throw new InvalidConstraintException("Já existe um usuário com esse e-mail");
            }

            var item = new User
            {
                Email    = inputData.Email,
                Password = inputData.Password.HashMD5(),
                Roles    = "user"
            };

            _context.Add(item);

            Message = "A entidade foi criada com sucesso.";

            return(item);
        }