public IActionResult Load(long?ID, long?languageID = 1)
        {
            GetCompany operation = new GetCompany();

            operation.ID = ID;
            if (languageID.HasValue)
            {
                operation.LangID = languageID;
            }
            else
            {
                operation.LangID = 1;
            }
            var result = operation.QueryAsync().Result;

            if (result is ValidationsOutput)
            {
                return(Ok(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                }));
            }
            else
            {
                return(Ok((List <Company>)result));
            }
        }
Ejemplo n.º 2
0
        public IActionResult Login([FromBody] Auth auth)
        {
            GetUsers loginOperation = new GetUsers();

            if (loginOperation.LangID == null)
            {
                auth.langId = 1;
            }
            var     operation   = loginOperation.Login(auth).Result;
            Company userCompany = new Company();
            var     userList    = (List <User>)operation;

            if (userList.Count > 0)
            {
                var        user    = userList[0];
                GetCompany company = new GetCompany();
                company.ID = user.CompanyID;
                var companies = ((List <Company>)company.QueryAsync().Result);
                userCompany = companies[0];
                var tokenHandler    = new JwtSecurityTokenHandler();
                var key             = Encoding.ASCII.GetBytes(configuration.GetSection("AppSettings:Token").Value);
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim(ClaimTypes.NameIdentifier, user.ID.ToString()),
                        new Claim(ClaimTypes.Name, user.Email)
                    }),
                    Expires            = DateTime.Now.AddDays(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
                                                                SecurityAlgorithms.HmacSha512Signature)
                };
                var token       = tokenHandler.CreateToken(tokenDescriptor);
                var tokenString = tokenHandler.WriteToken(token);

                user.Password = "";
                return(Ok(new { tokenString, user, userCompany }));
            }
            else
            {
                return(Unauthorized());
            }
        }