private static async Task AddUserToRole(UserManager <UserOne> userManager,
                                                string administratorRole, UserOne initialSetupUserAccount)
        {
            var initialUserCurrentRoles = await userManager.GetRolesAsync(initialSetupUserAccount);

            var isInitialSetupUserAccoutnHaveAdministratorRole = initialUserCurrentRoles.Where(p => p == administratorRole);

            if (isInitialSetupUserAccoutnHaveAdministratorRole.Count() == 0)
            {
                var identityOperationResult = await userManager.AddToRoleAsync(initialSetupUserAccount, administratorRole);

                if (identityOperationResult.Succeeded)
                {
                    //Log.ForContext("EventSource", "Sistem Altius").Information($"Sukses menambahkan data pengguna untuk setup data `{initialSetupUserAccount.Email}` ke dalam peran '{administratorRole}'.");
                }
                else
                {
                    string errMessage = $"Gagal menambahkan data pengguna khusus untuk setup data `{initialSetupUserAccount.Email}` ke dalam peran '{administratorRole}'.";
                    //Log.ForContext("EventSource", "Sistem Altius").Error(errMessage);

                    var exception = new ApplicationException(errMessage);

                    throw exception;
                }
            }
        }
예제 #2
0
        public static void Main(string[] args)
        {
            IChatMediator chatMediator = new ChatMediator();
            User          me           = new UserOne("Forhad", chatMediator);
            User          person1      = new UserOne("Shuvo", chatMediator);
            User          person2      = new UserOne("Sujon", chatMediator);
            User          person3      = new UserOne("Moin", chatMediator);

            chatMediator.AddPerson(person1);
            chatMediator.AddPerson(person2);
            chatMediator.AddPerson(person3);

            me.Send("Hi All, How are you?");

            Console.ReadLine();
        }
예제 #3
0
        public async Task <IActionResult> insertUser(UserOne model)
        {
            try
            {
                _contextGeneral.AddUser(model);

                if (await _contextGeneral.SaveUser())
                {
                    return(Created($"/api/userOne/{model.idUserOne}", model));
                }
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, $"Erro trazer usuarios {ex.Message}"));
            }

            return(BadRequest());
        }
예제 #4
0
        public async Task <IActionResult> UpdateUser(int id, UserOne model)
        {
            try
            {
                var user = await _contextUserOne.GetUserOneById(id, false);

                if (user == null)
                {
                    return(NotFound());
                }

                _contextGeneral.UpdateUser(model);

                if (await _contextGeneral.SaveUser())
                {
                    return(Created($"/api/userOne/{model.idUserOne}", model));
                }
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Erro trazer usuarios!{ex.Message}"));
            }
            return(BadRequest());
        }
예제 #5
0
        public async Task <ActionResult <OneResponse <UserResponse> > > Add([FromBody] UserRequest bodyRequest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new OneResponse <UserResponse>()
                {
                    Status = AppConstans.Response_Status_Failed,
                    Message = Helpers.GetModelStateError(ModelState)
                }));
            }

            var userCreate = new UserOne {
                UserName = bodyRequest.Email, Email = bodyRequest.Email
            };
            var identityResult = await _userManager.CreateAsync(userCreate, bodyRequest.Password);

            if (!identityResult.Succeeded)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, new OneResponse <UserResponse>()
                {
                    Message = Helpers.GetIdentityResultError(identityResult),
                    Data = new UserResponse()
                }));
            }

            return(Ok(new OneResponse <UserResponse>()
            {
                Status = AppConstans.Response_Status_Success,
                Message = AppConstans.Response_Message_Post_Success,
                Data = new UserResponse
                {
                    Id = userCreate.Id,
                    UserName = userCreate.UserName
                }
            }));
        }
        private static async Task <UserOne> CreateInitialUserAccount(UserManager <UserOne> userManager,
                                                                     string userEmail, string userPassword)
        {
            var existingInitialSetupUserAccount = await userManager.FindByEmailAsync(userEmail);

            if (existingInitialSetupUserAccount == null)
            {
                //Log.ForContext("EventSource", "Sistem Altius").Information($"Membuat data akun pengguna khusus untuk setup data dengan email `{userEmail}`.");

                var userAccountToBeCreated = new UserOne
                {
                    Email    = userEmail,
                    UserName = userEmail
                };

                var identityOperationResult = await userManager.CreateAsync(userAccountToBeCreated, userPassword);

                if (identityOperationResult.Succeeded)
                {
                    //Log.ForContext("EventSource", "Sistem Altius").Information($"Data pengguna khusus untuk setup data `{userEmail}` sukses dibuat.");

                    existingInitialSetupUserAccount = await userManager.FindByEmailAsync(userEmail);
                }
                else
                {
                    string errMessage = $"Data pengguna khusus untuk setup data `{userEmail}` gagal dibuat.";
                    //Log.ForContext("EventSource", "Sistem Altius").Error(errMessage);

                    var exception = new ApplicationException(errMessage);

                    throw exception;
                }
            }

            return(existingInitialSetupUserAccount);
        }
예제 #7
0
        public void UserCreatesID()
        {
            var one = new UserOne();

            Assert.AreEqual(Guid.Empty, one.Id);
        }