public async Task <UserDto> Create(UserDto userDto, string passwordHash) { if (await _userRepository.GetAll().AnyAsync(x => x.UserName == userDto.UserName)) { throw new EntityException(); } var user = new User { Email = userDto.Email, UserName = userDto.UserName, PasswordHash = passwordHash }; await _userRepository.Create(user); userDto.UserProfile.UserId = user.Id; _userProfileRepository.Add(_mapper.Map <UserProfile>(userDto.UserProfile)); return(userDto); }
public async Task <IdentityResult> RegisterUser(RegisterViewModel model, bool signIn, HttpContext context) { User user = new User { Email = model.Login, UserName = model.Login, FullName = model.FullName, PhoneNumber = model.PhoneNumber }; var result = await _userManager.CreateAsync(user, model.Password); if (model.Role > 0 && context.CheckFullPrivilegies()) { await _userManager.AddClaimAsync(user, new System.Security.Claims.Claim("access", model.Role.ToString())); } if (model.Role == Role.Manager) { var manager = await _managers.Create(new Manager()); user.IdManager = manager.Id; await _userManager.UpdateAsync(user); } else if (model.Role == Role.User) { var client = await _clients.Create(new Client { Name = user.FullName, PhoneNumber = user.PhoneNumber }); user.IdClient = client.Id; await _userManager.UpdateAsync(user); } else if (model.Role == Role.Admin) { var client = await _clients.Create(new Client { Name = user.FullName, PhoneNumber = user.PhoneNumber }); var manager = await _managers.Create(new Manager()); user.IdClient = client.Id; user.IdManager = manager.Id; await _userManager.UpdateAsync(user); } if (result.Succeeded) { if (signIn) { await _signInManager.SignInAsync(user, false); } } return(result); }
public async Task AddMark(ClothesMark mark) { var markLikeThat = await _marks.GetBy(e => e.SizeId == mark.SizeId && e.ClothesId == mark.ClothesId); if (markLikeThat.Any()) { throw new ArgumentException("Не можна додати такий розмір, він вже є у базі!"); } await _marks.Create(mark); }
public async Task <IActionResult> Create(CreateClothesViewModel clothesModel) { if (ModelState.IsValid) { var clothes = await _clothesStore.Create(clothesModel.Entity); await HttpContext.WriteImageClothes(_enviroments, clothesModel.Entity); await _clothesStore.Update(clothes); return(RedirectToReturnUrlOrHome(clothesModel.ReturnUrl)); } return(View(clothesModel)); }
public async Task DeleteEntityTest() { IAsyncRepositoryFactory factory = new MongoAsyncRepositoryFactory(connectionString, "testDb"); IAsyncRepository <Entity> entityRepository = factory.CreateAsyncRepository <Entity>("testCollection"); var initial = new Entity() { Id = Guid.NewGuid(), Name = "created" }; await entityRepository.Create(initial); var deleted = await entityRepository.Delete(x => x.Id == initial.Id); Assert.True(deleted == 1); }
public async Task CreateEntityTest() { IAsyncRepositoryFactory factory = new MongoAsyncRepositoryFactory(connectionString, "testDb"); IAsyncRepository <Entity> entityRepository = factory.CreateAsyncRepository <Entity>("testCollection"); var actual = new Entity() { Id = Guid.NewGuid(), Name = "created" }; await entityRepository.Create(actual); var expected = await entityRepository.Get(x => x.Id == actual.Id); Assert.Equal <Entity>(actual, expected, new EntityEqualityComparer()); }
public Task AddClaim(UserDto user, Claim claim) { if (user == null) { throw new ArgumentNullException("user"); } if (claim == null) { throw new ArgumentNullException("claim"); } _claimRepository.Create(new IdentityUserClaim { UserId = user.Id, ClaimType = claim.Type, ClaimValue = claim.Value }); return(Task.FromResult(0)); }
public async Task FindEntityTest() { IAsyncRepositoryFactory factory = new MongoAsyncRepositoryFactory(connectionString, "testDb"); IAsyncRepository <Entity> entityRepository = factory.CreateAsyncRepository <Entity>("testCollection"); var list = await entityRepository.Find(x => true); var actual = list.Count; for (int i = 0; i < 10; i++) { await entityRepository.Create(new Entity() { Id = Guid.NewGuid(), Name = "created" }); } list = await entityRepository.Find(x => true); var expected = list.Count; Assert.Equal(actual + 10, expected); }
public async Task <IActionResult> Checkout() { if (cart.Lines.Count() > 0) { var checkedList = await _orderService.UnOrderableMarks(cart.Lines.ToArray()); if (checkedList.Any()) { return(View("Error", new OrderErrorViewModel() { ErrorMessage = "Не має наступних речей у цій кількості!", MarksThatIsNotInStock = await _orderService.UnOrderableMarks(cart.Lines.ToArray()) })); } else { var order = new Order(); var currentUser = await _userManager.GetUserAsync(HttpContext.User); if (currentUser != null && currentUser.IdClient > 0 && !HttpContext.User.HasClaim("access", Role.Manager.ToString())) { order.Client = await _clients.GetById(currentUser.IdClient); } else { order.Client = await _clients.Create(new Client()); } return(View(order)); } } else { return(RedirectToAction("Index", "Cart")); } }
public async Task AddUnitsToClothes(int sizeId, int clothesId, int count) { var clothes = await _clothes.GetById(clothesId); if (clothes != null) { var mark = (await _marks.GetBy(e => e.ClothesId == clothesId && e.SizeId == sizeId)).FirstOrDefault(); var size = (await _sizes.GetById(sizeId)); if (size == null) { return; } if (mark == null) { await _marks.Create(new ClothesMark { Clothes = clothes, CountInStock = count, Size = size }); } else { mark.CountInStock += count; await _marks.Update(mark); } } }
public Task CreateRole(UserRole role) { return(_roleRepository.Create(role)); }