Example #1
0
        private async void Initialize()
        {
            //var userFlow = new UserSignupWorkflow();
            var users = new AppUsersRepository(new List <AppUser> {
                new AppUser {
                    FirstName = "Bahb", LastName = "Lahblahb", SecurityLevel = 2048
                }
            });
            var service  = AppUser.IT.GetService <AppUserService>();
            var service2 = users.GetService <AppUserService>();
            var service3 = new AppUser().Service;
            var user     = service.GetSuperAdmins().First();
            var newUser  = new AppUser()
            {
                FirstName = "nope"
            };

            // you should be able to use the api in static or obj ways like
            // actually after having seen it i don't like the static way, lots of typing
            var resultStatic = UserSignupWorkflow.WithA(newUser).Result.SendEmailConfirmation();
            var resultObj    = new UserSignupWorkflow(newUser).SendEmailConfirmation();

            var workflow      = new UserSignupWorkflow(newUser);
            var otherWorkflow = UserSignupWorkflow.WithA(newUser);
            var userResult    = await newUser.DidCreateNew();

            var success = workflow.SendEmailConfirmation().Result
                          .Then().Result
                          .WaitFor(newUser.Confirmed == true).Result
                          .Then().Result
                          .Emit(UserSignupWorkflow.ResultStatues.NewUserSignupSuccess).Result
                          .SendPersonalizedWelcomeChatMessageInApp();

            // the Emit() feature (abstract parent) allows push and status change on the webhook (these are features of durabletasks)
        }
Example #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var config = new Configuration();
            var value  = config.Get <string>("test");

            AppUsersRepository.AppUsersCanBeQueriedTest();

            Console.ReadLine();
        }
Example #3
0
        public IActionResult Login([FromBody] Login login)
        {
            var repository = new AppUsersRepository();

            var(u, b) = repository.CheckUser(login.Email, login.Password);
            if (u == null)
            {
                return(Ok(new AppUserResponse {
                    Success = false, Message = b
                }));
            }
            var roles = repository.GetUserRoles(u.Id);


            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, u.Id.ToString()),
                new Claim(ClaimTypes.Name, u.Email),
            };

            if (roles != null)
            {
                roles.ForEach(c => claims.Add(new Claim(ClaimTypes.Role, c.Value)));
            }


            var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(Config["Token:Key"]));

            var token = new JwtSecurityToken(
                signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256),
                expires: DateTime.Now.AddMinutes(10),
                claims: claims
                );
            var stringtoken = new JwtSecurityTokenHandler().WriteToken(token);


            return(Ok(new AppUserResponse
            {
                Success = true,
                Message = "Success operation",
                User = u,
                UserClaims = roles,
                Token = stringtoken
            }));
        }
Example #4
0
        public IActionResult GetUserById(int id)
        {
            var repository = new AppUsersRepository();

            var(user, b) = repository.GetByColumNameFist("Id", id);
            if (!b)
            {
                return(Ok(new AppUserResponse {
                    Success = false, Message = "error"
                }));
            }
            if (user == null)
            {
                return(Ok(new AppUserResponse {
                    Success = false, Message = "User not found", ErrorCode = Models.Status.NotFound
                }));
            }
            var claims = repository.GetByColumName <UserClaims>("UserId", user.Id).Item1;

            return(Ok(new AppUserResponse {
                Success = true, Message = "success", User = user, UserClaims = claims
            }));
        }
Example #5
0
 public ValuesController()
 {
     repository = new AppUsersRepository();
 }
Example #6
0
 public AppUsersService(AppUsersRepository repo, AlcoholsRepository alcRepo)
 {
     _repo    = repo;
     _alcRepo = alcRepo;
 }
Example #7
0
 public GlassesService(GlassesRepository repo, AppUsersRepository AppUserRepo, AlcoholsRepository AlcRepo)
 {
     _repo        = repo;
     _AppUserRepo = AppUserRepo;
     _AlcRepo     = AlcRepo;
 }
Example #8
0
 public AppUsersService(AppUsersRepository repo, BudgetsRepository bRepo)
 {
     _repo  = repo;
     _bRepo = bRepo;
 }