public IActionResult Index() { try { int DomainId = 0; string Password = ""; // var items = _domainRepository.GetAsQueryable(x => HasAccess1(x.Id)).ToList(); var items = _domainRepository.GetAll().ToList(); var model = _mapper.Map <IEnumerable <DomainSetting>, IEnumerable <DomainSettingViewModel> >(items); DomainSettingViewModel m = new DomainSettingViewModel(); foreach (var x in model) { m.Id = x.Id; m.Server = x.Server; m.Title = x.Title; m.IsActive = x.IsActive; m.Password = x.Password; } IQueryable <DomainSetting> domainSetting = _context.DomainSetting.Where(w => w.Title != "کاربران سیستمی"); var domain = domainSetting.Select(w => new DomainSetting { Id = w.Id, Server = w.Server, Title = w.Title, UserName = w.UserName, Password = w.Password }).FirstOrDefault(); if (domain != null) { string cipherText = ""; cipherText = _encriptdescriptStringRepository.DecryptString(domain.Password); DomainId = domain.Id; Password = cipherText; bool ping = _pingLdap.Ping(DomainId, Password); if (ping) { if (m.Title != "کاربران سیستمی") { m.IsActive = true; } foreach (var y in model) { if (y.Title != "کاربران سیستمی") { y.IsActive = m.IsActive; } } } return(View(model)); } else { return(View(model)); } } catch (Exception e) { Log.Error(e, e.Message); return(View("~/Views/Shared/Error.cshtml", new ErrorViewModel { RequestId = e.Message })); } }
//[Authorize(Roles = "Admin")] // [ValidateAntiForgeryToken] public async Task <IActionResult> Create(DomainUserViewModel model) { try { model.message = ""; model.IsSuccess = false; bool ping = _pingLdap.Ping(model.DomainId, model.UserName); if (ping) { List <DomainUser> users = _findAllADUsers.FindAll(model.DomainId, model.UserName); ApplicationUser applicationUser = new ApplicationUser(); List <ApplicationUser> applicationUsers = new List <ApplicationUser>(); IdentityResult result = new IdentityResult(); if (users.Count > 0) { foreach (var user in users) { applicationUser.UserName = user.UserName + "@" + user.dcString.Split("dc=")[1].Replace(",", ".") + user.dcString.Split(",dc=")[1]; applicationUser.FirstName = user.FirstName; applicationUser.LastName = user.LastName; applicationUser.Email = user.Email; applicationUser.EmailConfirmed = true; applicationUser.PhoneNumberConfirmed = true; applicationUser.PhoneNumber = "-"; applicationUser.Mobile = "-"; applicationUser.AddedDate = DateTime.Now; applicationUsers.Add(applicationUser); } if (ModelState.IsValid) { byte[] salt = new byte[128 / 8]; model.PasswordHash = Convert.ToBase64String(KeyDerivation.Pbkdf2( password: "******", salt: salt, prf: KeyDerivationPrf.HMACSHA1, iterationCount: 10000, numBytesRequested: 256 / 8)); foreach (var applicationUser1 in applicationUsers) { try { result = await _userManager.CreateAsync(applicationUser1, model.PasswordHash); if (result.Succeeded) { //if (await _roleManager.FindByNameAsync(model.RoleType.ToString()) == null) //{ // await _roleManager.CreateAsync(new ApplicationRole // { // Name = model.RoleType.ToString(), // NormalizedName = model.RoleType.ToString().ToUpper() // }); //} //await _userManager.AddToRoleAsync(applicationUser, model.RoleType.ToString()); var systemRoles = _roleManager.Roles.ToList().Where(x => x.Id == model.RoleId); var roles = systemRoles.Select(x => x.Name).FirstOrDefault(); if (roles != null) { await _userManager.AddToRoleAsync(applicationUser1, roles.ToString()); } if (Request.Form.Keys.Contains("SaveAndReturn")) { model.IsSuccess = true; model.message = "Sucsses"; return(View(model)); } } else { var errors = result.Errors.ToList(); if (errors.Count > 0) { foreach (var error in errors) { AddErrors(result); } } else { model.IsSuccess = false; model.message = "Error"; return(View(model)); } } } catch (Exception e) { var a = e.Message; } } } } else { var errors = result.Errors.ToList(); if (errors.Count > 0) { foreach (var error in errors) { AddErrors(result); } } else { model.IsSuccess = false; model.message = "Error"; return(View(model)); } } } else { ModelState.AddModelError("", "دامین غیر فعال است.!"); } return(View(model)); } catch (Exception e) { Log.Error(e, e.Message); return(View("~/Views/Shared/Error.cshtml", new ErrorViewModel { RequestId = e.Message })); } }