Esempio n. 1
0
        public async Task UpdateAsync(AppUserViewModel userVm)
        {
            var user = await _userManager.FindByIdAsync(userVm.Id.ToString());

            //Add new roles
            var currentRoles = await _userManager.GetRolesAsync(user);

            var result = await _userManager.AddToRolesAsync(user, userVm.Roles.Except(currentRoles).ToArray());

            if (result.Succeeded)
            {
                //Remove current roles in db
                string[] needRemoveRoles = currentRoles.Except(userVm.Roles).ToArray();
                await RemoveRolesFromUser(user.Id.ToString(), needRemoveRoles);

                //Update user detail
                user.FullName    = userVm.FullName;
                user.Active      = userVm.Active;
                user.Email       = userVm.Email;
                user.PhoneNumber = userVm.PhoneNumber;
                user.Avatar      = userVm.Avatar;
                user.Gender      = userVm.Gender;
                if (!string.IsNullOrEmpty(userVm.Birthday))
                {
                    user.Birthday = DateTime.ParseExact(userVm.Birthday, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                }
                else
                {
                    user.Birthday = null;
                }

                await _userManager.UpdateAsync(user);
            }
        }
        public ActionResult UserProfile()
        {
            var user = User.Identity.GetUserId();
            AppUserViewModel appUserView = new AppUserViewModel()
            {
                Courses       = mydatabase.CoursesUserManager.GetAllBind().Where(i => i.LinkedInUserId == user).ToList(),
                EducationList = mydatabase.UserEducationManager.GetAllBind().Where(i => i.LinkedInUserId == user).ToList(),
                Languages     = mydatabase.LanguageUserManager.GetAllBind().Where(i => i.LinkedInUserId == user).ToList(),
                Posts         = mydatabase.PostsUserManager.GetAllBind().Where(i => i.OwnerId == user).ToList(),
                Skills        = mydatabase.SkillsUserManager.GetAllBind().Where(i => i.LinkedInUserId == user).ToList(),
                User          = UserManager.FindById(user),
                Companies     = mydatabase.CompanyUserManager.GetAllBind().Where(i => i.LinkedInUserId == user).ToList()
            };


            if (Request.IsAjaxRequest())


            //بزار التعديل

            {
                //بزار التعديل

                //return PartialView("_PartialProfilePagewithEdit", appUserView);
                return(View("ProfilePageEdit", appUserView));
            }
            else
            {
                return(View("ProfilePageEdit", appUserView));

                //return View(appUserView);
            }
        }
Esempio n. 3
0
        public ActionResult Create(AppUserViewModel model)
        {
            List <string> errors = new List <string>();

            try
            {
                if (ModelState.IsValid)
                {
                    if (model.Id == 0)
                    {
                        var dbModel = AutomapperConfig.Mapper.Map <AppUser>(model);
                        EncryptionService encsvc = new EncryptionService();

                        dbModel.Salt     = encsvc.CreateSaltKey(10);
                        dbModel.Password = encsvc.CreatePasswordHash(model.Password, dbModel.Salt);
                        dbModel.IsActive = true;
                        dbModel.UserRoles.Add(new UserRole {
                            RoleId = model.RoleId
                        });
                        model.Id = db.AppUserRepo.Create(dbModel);
                    }
                    else
                    {
                        var oldmodel = db.AppUserRepo.GetById(model.Id);
                        if (oldmodel == null)
                        {
                            Response.StatusCode = (int)HttpStatusCode.OK;
                            return(Json(new { redirecturl = "/error/badrequest" }));
                        }
                        var role = db.UserRoleRepo.Table().Where(x => x.UserId == model.Id);
                        db.UserRoleRepo.DeleteRange(role);
                        var dbModel = AutomapperConfig.Mapper.Map <AppUser>(model);
                        EncryptionService encsvc = new EncryptionService();
                        oldmodel.UserName   = model.UserName;
                        oldmodel.Password   = encsvc.CreatePasswordHash(model.Password, dbModel.Salt);
                        oldmodel.EmployeeId = model.EmployeeId;
                        oldmodel.Photo      = model.Photo;
                        oldmodel.UserRoles.Add(new UserRole {
                            RoleId = model.RoleId
                        });

                        oldmodel.IsActive = model.IsActive;
                    }
                    db.SaveChanges();
                    Response.StatusCode = (int)HttpStatusCode.OK;
                    TempData["Success"] = "User Successfully Saved";
                    return(RedirectToAction("Index"));
                }
                foreach (var item in ModelState.Where(x => x.Value.Errors.Any()))
                {
                    errors.Add(item.Value.Errors.FirstOrDefault().ErrorMessage);
                }
            }
            catch (Exception ex)
            {
                errors.Add(ex.GetExceptionMessages());
            }
            Response.StatusCode = (int)HttpStatusCode.SeeOther;
            return(View(model));
        }
Esempio n. 4
0
        public IActionResult Index(AppUserViewModel vm, string buttonValue)
        {
            bool retainEdit = false;

            switch (buttonValue)
            {
            case "Save":
                if (ModelState.IsValid)
                {
                    int userId = _AppUserRepo.SaveAppUser(vm.EditAppUser);
                    _AppUserRepo.DeleteUserRoles(userId);
                    foreach (var role in vm.EditAppUser.Roles.Where(x => x.Active))
                    {
                        _AppUserRepo.SaveUserRole(userId, role.Id);
                    }
                }
                else
                {
                    retainEdit = true;
                }
                break;

            case "Delete":
                _AppUserRepo.DeleteAppUser(vm.EditAppUser.UserId);
                break;
            }
            PrepAppUser(vm, retainEdit);
            return(View(vm));
        }
Esempio n. 5
0
        public async Task <ActionResult> Create(AppUserViewModel model)
        {
            var userPath = string.Format("{0}/{1}", User_ByUserIdUri, GuidEncoder.Decode(model.UriKey));
            var user     = _mapper.Map <UserViewModel>(await _apiClient.GetAsync <UserDto>(userPath));


            var path = string.Format("{0}{1}", HttpClientProvider.HttpClient.BaseAddress, BaseUri);

            //model.SubjectId = GuidEncoder.Decode(model.UriKey).ToString();
            model.CreatedDate  = DateTime.UtcNow;
            model.ModifiedDate = DateTime.UtcNow;

            model.GenderId  = GuidEncoder.Decode(model.GenderId).ToString();
            model.CountryId = GuidEncoder.Decode(model.CountryId).ToString();

            try
            {
                // TODO: Add insert logic here
                if (ModelState.IsValid)
                {
                    model.User = user;
                    await _apiClient.PostAsync(path, _mapper.Map <AppUserDto>(model));

                    return(RedirectToAction(nameof(Index)));
                }
                return(View());
            }
            catch (Exception ex)
            {
                var msgError = ex.Message;
                return(View());
            }
        }
        public async Task <IActionResult> Add([FromBody] AppUserViewModel appUserVm)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var hasPermission = await _authorizationService.AuthorizeAsync(User, "USER", Operations.Create);

                    if (hasPermission.Succeeded == false)
                    {
                        return(new BadRequestObjectResult(CommonConstants.Forbidden));
                    }
                    AppUser appUser = _mapper.Map <AppUser>(appUserVm);
                    var     result  = await _userManager.CreateAsync(appUser, appUserVm.Password);

                    if (result.Succeeded)
                    {
                        var role = appUserVm.Roles.ToArray();
                        await _userManager.AddToRolesAsync(appUser, role);

                        return(new OkObjectResult(appUserVm));
                    }
                }
                catch (Exception ex)
                {
                    return(new BadRequestObjectResult(ex.Message));
                }
            }
            return(new BadRequestObjectResult(ModelState));
        }
Esempio n. 7
0
        public async Task <IActionResult> SaveUserAsync(AppUserViewModel appUserViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(ModelState));
            }

            if (Request.Form.Files.Count() > 0)
            {
                var file            = Request.Form.Files[0];
                var imgPathPhysical = $@"{_hostingEnvironment.WebRootPath}\admin-side\images\user\{file.FileName}";
                using (var fs = System.IO.File.Create(imgPathPhysical))
                {
                    file.CopyTo(fs);
                    fs.Flush();
                }
            }

            if (appUserViewModel.Id != new Guid())
            {
                var result = await _userService.UpdateUserAsync(appUserViewModel);

                return(new OkObjectResult(result));
            }
            else
            {
                var result = await _userService.CreateUserAsync(appUserViewModel);

                return(new OkObjectResult(result));
            }
        }
Esempio n. 8
0
        public async Task <bool> AddAsync(AppUserViewModel userViewModel)
        {
            //var user = new AppUser()
            //{
            //    UserName = userViewModel.UserName,
            //    Avatar = userViewModel.Avatar,
            //    Email = userViewModel.Email,
            //    FullName = userViewModel.FullName,
            //    PhoneNumber = userViewModel.PhoneNumber,
            //    Status = userViewModel.Status
            //};

            // Hack: user mapper alternate contructor of AppUser
            var user   = Mapper.Map <AppUserViewModel, AppUser>(userViewModel);
            var result = await _userManager.CreateAsync(user, userViewModel.Password);

            if (result.Succeeded && userViewModel.Roles.Count > 0)
            {
                var appUser = await _userManager.FindByNameAsync(user.UserName);

                if (appUser != null)
                {
                    await _userManager.AddToRolesAsync(appUser, userViewModel.Roles);
                }
            }
            return(true);
        }
        public async Task <IActionResult> RelationShip(string id, string action)
        {
            var user = await _userManager.GetUserAsync(User);

            AppUserViewModel userVM = Mapper.Map <AppUser, AppUserViewModel>(user);
            var profile             = await _userService.GetById(id);

            if (action == "AddFriend")
            {
                var query = await _relationshipService.AddFriendAsync(user.Id, id);
            }
            else if (action == "AcceptFriend")
            {
                await _relationshipService.AcceptFriendAsync(user.Id, id);
            }
            else if (action == "CancelRequest")
            {
                await _relationshipService.CancelRequestAsync(user.Id, id);
            }
            else if (action == "UnFriend")
            {
                await _relationshipService.UnFriendAsync(user.Id, id);
            }
            _relationshipService.Save();
            var result = _relationshipService.GetByUser(userVM, id).Status;

            return(new OkObjectResult(result));
            //return RedirectToAction("Index", "Profile", new {/* routeValues, for example: */ email = profile.Email });
        }
Esempio n. 10
0
        public async Task <IActionResult> SaveEntity(AppUserViewModel userVm)
        {
            if (!ModelState.IsValid)
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(new BadRequestObjectResult(allErrors));
            }
            else
            {
                if (userVm.Id == null)
                {
                    var isValid = await _userService.AddAsync(userVm);

                    if (isValid == false)
                    {
                        return(new OkObjectResult(new GenericResult(false, userVm)));
                    }
                }
                else
                {
                    var isValid = await _userService.UpdateAsync(userVm);

                    if (isValid == false)
                    {
                        return(new OkObjectResult(new GenericResult(false, userVm)));
                    }
                }

                return(new OkObjectResult(new GenericResult(true, userVm)));
            }
        }
Esempio n. 11
0
 public frmUser(IUserService userService, IRoleService roleService)
 {
     _userService      = userService;
     _roleService      = roleService;
     _appUserViewModel = new AppUserViewModel();
     InitializeComponent();
 }
        public async Task <IActionResult> Create([Bind("Email,Password,ConfirmPassword,PhoneNumber,ConfirmPhoneNumber,TwoFactorEnabled")] AppUserViewModel appUser)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName    = appUser.Email, Email = appUser.Email,
                    PhoneNumber = appUser.PhoneNumber, TwoFactorEnabled = appUser.TwoFactorEnabled
                };

                var result = await _userManager.CreateAsync(user, appUser.Password);

                if (result.Succeeded)
                {
                    //_logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        null,
                        values: new { area = "Identity", userId = user.Id, code = code },
                        protocol: Request.Scheme
                        );

                    await _emailSender.SendEmailAsync(user.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    //return LocalRedirect(returnUrl);
                }
                //_context.Add(appUser);
                //await _context.SaveChangesAsync();
                return(RedirectToAction(nameof(Index)));
            }
            return(View(appUser));
        }
Esempio n. 13
0
        public async Task <IActionResult> Login([FromBody] AppUserViewModel user)
        {
            if (!TryValidateModel(ModelState))
            {
                return(BadRequest(ModelState));
            }

            var appUser = await _userManager.FindByEmailAsync(user.Email);

            if (appUser == null)
            {
                return(BadRequest(ModelState));
            }

            var userVerified = await _userManager.CheckPasswordAsync(appUser, user.Password);

            if (!userVerified)
            {
                return(BadRequest(ModelState));
            }

            var identity = new ClaimsIdentity(
                new GenericIdentity(appUser.Email, "Token"),
                new[] {
                new Claim("id", appUser.Id),
                new Claim("rol", "api_access")
            });

            var token = _jwtService.GenerateJwt(user.Email, identity);

            return(Ok(new { token }));
        }
Esempio n. 14
0
        public async Task <IActionResult> Register([FromBody] AppUserViewModel user)
        {
            var appUser = new AppUser()
            {
                Email    = user.Email,
                UserName = user.Email
            };

            var userExists = await _userManager.FindByEmailAsync(user.Email);

            if (userExists != null)
            {
                return(BadRequest(new { error = "User Already exists" }));
            }

            var result = await _userManager.CreateAsync(appUser, user.Password);

            if (!result.Succeeded)
            {
                return(BadRequest(result.Errors));
            }

            _applicationContext.Users.Add(appUser);
            await _applicationContext.SaveChangesAsync();

            return(Ok());
        }
        public async Task <ActionResult> Edit(AppUserViewModel model)
        {
            model.AppUserId = GuidEncoder.Decode(model.UriKey).ToString();
            model.SubjectId = GuidEncoder.Decode(model.SubjectId).ToString();

            try
            {
                var path = string.Format("{0}", BaseUri);
                // TODO: Add update logic here
                if (ModelState.IsValid)
                {
                    await _apiClient.PutAsync(path, _mapper.Map <AppUserDto>(model));

                    return(RedirectToAction(nameof(Index)));
                }
                await PopulateViewBagsAsync();

                return(View());
            }
            catch (Exception ex)
            {
                var errMsg = ex.Message;
                return(View());
            }
        }
Esempio n. 16
0
        public async Task <IActionResult> ChangePassword(AppUserViewModel userVm)
        {
            var newpass = userVm.Password;
            var model   = await _userService.ChangePassword(userVm, newpass);

            return(new OkObjectResult(model));
        }
        public void UserDetails_ShouldReturn_ViewAndDetailInfo()
        {
            // Arrange
            string userId  = "asd1";
            var    userDto = new AppUserDto {
                Id = userId
            };

            mockAdminService.Setup(u => u.GetUserById(userId)).Returns(userDto);
            AdminController controller = new AdminController(new DeliveryMessage(), mockAdminService.Object,
                                                             mockInvoicesService.Object);

            AppUserViewModel userViewModel = null;

            try
            {
                // Act
                result        = controller.UserDetails(userId) as ViewResult;
                userViewModel = (AppUserViewModel)result.Model;
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message + " | " + ex.StackTrace;
            }

            // Assert
            Assert.IsTrue(result.ViewName == "UserDetails", errorMessage);
            Assert.IsNotNull(userViewModel, errorMessage);
        }
Esempio n. 18
0
        public async Task <bool> AddAsync(AppUserViewModel userVM)
        {
            //_appDbContext.ExecuteQuery
            AppUser user = new AppUser()
            {
                FullName    = userVM.FullName,
                UserName    = userVM.UserName,
                Email       = userVM.Email,
                PhoneNumber = userVM.PhoneNumber,
                DateCreated = DateTime.Now,
                Status      = userVM.Status
            };
            var rs = await _userManager.CreateAsync(user, userVM.PasswordHash);

            var listRoles = userVM.Roles.ToList();

            if (rs.Succeeded)
            {
                foreach (var item in listRoles)
                {
                    var a = await _userManager.AddToRoleAsync(user, item);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 19
0
        public async Task <bool> AddAsync(AppUserViewModel userVm)
        {
            var user = new AppUser()
            {
                UserName    = userVm.UserName,
                Avatar      = userVm.Avatar,
                Email       = userVm.Email,
                FullName    = userVm.FullName,
                BirthDay    = DateTime.Parse(userVm.BirthDay),
                DateCreated = DateTime.Now,
                PhoneNumber = userVm.PhoneNumber
            };
            var result = await _userManager.CreateAsync(user, userVm.Password);

            if (result.Succeeded && userVm.Roles.Count > 0)
            {
                var appUser = await _userManager.FindByNameAsync(user.UserName);

                if (appUser != null)
                {
                    await _userManager.AddToRolesAsync(appUser, userVm.Roles);
                }
            }
            return(true);
        }
Esempio n. 20
0
        public async Task <bool> AddAsync(AppUserViewModel userViewModel)
        {
            var user = new AppUser()
            {
                UserName       = userViewModel.UserName,
                Avatar         = userViewModel.Avatar,
                Email          = userViewModel.Email,
                FullName       = userViewModel.FullName,
                DateCreated    = DateTime.Now,
                PhoneNumber    = userViewModel.PhoneNumber,
                Status         = userViewModel.Status,
                EmailConfirmed = true
            };
            var result = await _userManager.CreateAsync(user, userViewModel.Password);

            if (result.Succeeded && userViewModel.Roles.Count > 0)
            {
                var appUser = await _userManager.FindByNameAsync(user.UserName);

                if (appUser != null)
                {
                    await _userManager.AddToRolesAsync(appUser, userViewModel.Roles);
                }
            }

            return(true);
        }
Esempio n. 21
0
        public IActionResult Index()
        {
            var vm = new AppUserViewModel();

            PrepAppUser(vm, false);
            return(View(vm));
        }
Esempio n. 22
0
        public async Task UpdateAsync(AppUserViewModel userVm)
        {
            var user = await _userManager.FindByIdAsync(userVm.Id.ToString());

            //Remove current roles in db
            var currentRoles = await _userManager.GetRolesAsync(user);

            var result = await _userManager.AddToRolesAsync(user,
                                                            userVm.Roles.Except(currentRoles).ToArray());

            if (result.Succeeded)
            {
                string[] needRemoveRoles = currentRoles.Except(userVm.Roles).ToArray();
                await _userManager.RemoveFromRolesAsync(user, needRemoveRoles);

                //Update user detail
                user.FullName     = userVm.FullName;
                user.Status       = userVm.Status;
                user.BirthDay     = DateTime.ParseExact(userVm.BirthDay.ToString(), "dd/MM/yyyy", provider);
                user.Address      = userVm.Address;
                user.PhoneNumber  = userVm.PhoneNumber;
                user.DateModified = DateTime.Now;
                await _userManager.UpdateAsync(user);
            }
        }
Esempio n. 23
0
        public async Task UpdateAsync(AppUserViewModel userVm)
        {
            var user = await _userManager.FindByIdAsync(userVm.Id.ToString());

            //Remove current roles in db
            var currentRoles = await _userManager.GetRolesAsync(user);

            var result = await _userManager.AddToRolesAsync(user,
                                                            userVm.Roles.Except(currentRoles).ToArray());

            if (result.Succeeded)
            {
                string[] needRemoveRoles = currentRoles.Except(userVm.Roles).ToArray();
                await _userManager.RemoveFromRolesAsync(user, needRemoveRoles);

                //Update user detail
                user.FullName     = userVm.FullName;
                user.Status       = userVm.Status;
                user.Email        = userVm.Email;
                user.PhoneNumber  = userVm.PhoneNumber;
                user.ModifiedDate = DateTime.Now;
                user.DateOfBirth  = user.DateOfBirth;
                await _userManager.UpdateAsync(user);
            }
        }
Esempio n. 24
0
        public async Task <IActionResult> Login(AppUserViewModel user)
        {
            ViewData["Layout"] = "_UnAuthLayout";
            if (ModelState.IsValid)
            {
                bool isValid = true;
                try
                {
                    var appUser = _accountService.Login(user.UserName, user.Password);
                    var claims  = new List <Claim>
                    {
                        new Claim(ClaimTypes.Name, appUser.UserName),
                        new Claim("FullName", $"{appUser.FirstName} {appUser.LastName}"),
                        new Claim(ClaimTypes.Role, appUser.Role.Name)
                    };

                    var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

                    await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity), new AuthenticationProperties());
                }
                catch (ValidationException)
                {
                    isValid = false;
                    ModelState.AddModelError("GlobalErrorMessage", INVALID_LOGIN);
                }

                if (isValid)
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(View());
        }
Esempio n. 25
0
        public async Task <AppUser> PrepareAdminAppUserEntity(AppUserViewModel appUserViewModel = null, AppUser appUser = null)
        {
            if (appUserViewModel == null)
            {
                throw new ArgumentNullException(nameof(appUserViewModel));
            }

            if (appUser == null)
            {
                throw new ArgumentNullException(nameof(appUser));
            }

            if (appUserViewModel.ProfilePictureFile != null)
            {
                var    pictureFileExtension = Path.GetExtension(appUserViewModel.ProfilePictureFile.FileName);
                string pictureName          = $"{Guid.NewGuid()}{pictureFileExtension}";

                var path = Path.Combine(Directory.GetCurrentDirectory(), $"wwwroot/img/{pictureName}");

                using (var stream = new FileStream(path, FileMode.Create))
                    await appUserViewModel.ProfilePictureFile.CopyToAsync(stream);

                appUser.Picture = pictureName;
            }

            appUser.Name    = appUserViewModel.Name;
            appUser.Surname = appUserViewModel.Surname;
            appUser.Email   = appUserViewModel.Email;

            return(appUser);
        }
Esempio n. 26
0
        public RelationShipViewModel GetByUser(AppUserViewModel user_one, string user_two_id)
        {
            var user_two     = _userManager.FindByIdAsync(user_two_id).Result;
            var relationship = new Relationship()
            {
                User_one_id    = user_one.Id,
                User_two_id    = user_two.Id,
                Action_user_id = user_one.Id
            };
            var query = _relationshipRepository.FindSingle(x => x.User_one_id == relationship.User_one_id && x.User_two_id == relationship.User_two_id);

            if (query != null)
            {
                // gui thong tin request

                return(Mapper.Map <Relationship, RelationShipViewModel>(query));
            }
            var query2 = _relationshipRepository.FindSingle(x => x.User_one_id == relationship.User_two_id && x.User_two_id == relationship.User_one_id);

            if (query2 != null)
            {
                // gui thong tin request
                return(Mapper.Map <Relationship, RelationShipViewModel>(query2));
            }
            return(null);
        }
        public ActionResult UserProfile(string userid)
        {
            AppUserViewModel appUserView = new AppUserViewModel()
            {
                Courses       = mydatabase.CoursesUserManager.GetAllBind().Where(i => i.LinkedInUserId == userid).ToList(),
                EducationList = mydatabase.UserEducationManager.GetAllBind().Where(i => i.LinkedInUserId == userid).ToList(),
                Languages     = mydatabase.LanguageUserManager.GetAllBind().Where(i => i.LinkedInUserId == userid).ToList(),
                Posts         = mydatabase.PostsUserManager.GetAllBind().Where(i => i.OwnerId == userid).ToList(),
                Skills        = mydatabase.SkillsUserManager.GetAllBind().Where(i => i.LinkedInUserId == userid).ToList(),
                User          = UserManager.FindById(userid),
                Companies     = mydatabase.CompanyUserManager.GetAllBind().Where(i => i.LinkedInUserId == userid).ToList()
            };

            if (Request.IsAjaxRequest())
            {
                if (userid == User.Identity.GetUserId())
                {
                    return(PartialView("_PartialProfilePagewithEdit", appUserView));
                }
                else
                {
                    return(PartialView("_PartialProfilePage", appUserView));
                }
                //من غير زرار التعديل
            }
            else
            {
                return(View(appUserView));
            }
        }
Esempio n. 28
0
        public async Task <bool> AddAsync(AppUserViewModel userVm)
        {
            var user = new AppUser()
            {
                UserName    = userVm.UserName,
                Avatar      = userVm.Avatar,
                Email       = userVm.Email,
                FullName    = userVm.FullName,
                CreatedDate = DateTime.Now,
                PhoneNumber = userVm.PhoneNumber,
                Status      = userVm.Status
            };
            var result = await _userManager.CreateAsync(user, userVm.Password);

            if (result.Succeeded && userVm.Roles.Count > 0)
            {
                var appUser = await _userManager.FindByNameAsync(user.UserName);

                if (appUser != null)
                {
                    await _userManager.AddToRolesAsync(appUser, userVm.Roles);
                }
                _unitOfWork.Commit();
            }

            return(true);
        }
Esempio n. 29
0
        public async Task <IActionResult> SaveEntity(AppUserViewModel userVm)
        {
            if (!ModelState.IsValid)
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(new BadRequestObjectResult(allErrors));
            }

            if (userVm.Id == null)
            {
                var announcement = new AnnouncementViewModel()
                {
                    Content      = $"User {userVm.UserName} has been created",
                    DateCreated  = DateTime.Now,
                    Status       = Status.Active,
                    Title        = "User created",
                    UserId       = User.GetUserId(),
                    DateModified = DateTime.Now,
                    Id           = Guid.NewGuid().ToString()
                };

                await _userService.AddAsync(userVm);

                await _hubContext.Clients.All.SendAsync("ReceiveMessage", announcement);
            }
            else
            {
                userVm.DateModified = DateTime.Now;
                await _userService.UpdateAsync(userVm);
            }

            _userService.SaveChanges();

            return(new OkObjectResult(userVm));
        }
Esempio n. 30
0
        public async Task <bool> AddAsync(AppUserViewModel userVm)
        {
            var user = new AppUser()
            {
                UserName     = userVm.UserName,
                Avatar       = userVm.Avatar,
                Email        = userVm.Email,
                FullName     = userVm.FullName,
                DateCreated  = DateTime.Now,
                PhoneNumber  = userVm.PhoneNumber,
                UserCreated  = userVm.UserCreated,
                UserModified = userVm.UserModified,
                Active       = userVm.Active
            };

            if (!string.IsNullOrEmpty(userVm.Birthday))
            {
                user.Birthday = DateTime.ParseExact(userVm.Birthday, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            }

            var result = await _userManager.CreateAsync(user, userVm.Password);

            if (result.Succeeded && userVm.Roles.Count > 0)
            {
                var appUser = await _userManager.FindByNameAsync(user.UserName);

                if (appUser != null)
                {
                    await _userManager.AddToRolesAsync(appUser, userVm.Roles);
                }
            }
            return(true);
        }