public bool DisableUser(UserDto userDto) { if (userDto == null) { throw new ArgumentNullException("userDto"); } User user; if (!IsEmptyGuidString(userDto.Id)) { user = _userRepository.GetByKey(new Guid(userDto.Id)); } else if (!string.IsNullOrEmpty(userDto.UserName)) { user = _userRepository.GetByExpression(u => u.UserName == userDto.UserName); } else if (!string.IsNullOrEmpty(userDto.Email)) { user = _userRepository.GetByExpression(u => u.Email == userDto.Email); } else { throw new ArgumentNullException("userDto", "Either ID, UserName or Email should be specified."); } user.Disable(); _userRepository.Update(user); RepositorytContext.Commit(); return(user.IsDisabled); }
public void DeleteUsers(List <UserDto> userDtos) { if (userDtos == null) { throw new ArgumentNullException("userDtos"); } foreach (var userDto in userDtos) { User user = null; if (!IsEmptyGuidString(userDto.Id)) { user = _userRepository.GetByKey(new Guid(userDto.Id)); } else if (!string.IsNullOrEmpty(userDto.UserName)) { user = _userRepository.GetByExpression(u => u.UserName == userDto.UserName); } else if (!string.IsNullOrEmpty(userDto.Email)) { user = _userRepository.GetByExpression(u => u.Email == userDto.Email); } else { throw new ArgumentNullException("userDtos", "Either ID, UserName or Email should be specified."); } var userRole = _userRoleRepository.GetBySpecification(Specification <UserRole> .Eval(ur => ur.UserId == user.Id)); if (userRole != null) { _userRoleRepository.Remove(userRole); } _userRepository.Remove(user); } RepositorytContext.Commit(); }
public void AddProductToCart(Guid customerId, Guid productId, int quantity) { var user = _userRepository.GetByKey(customerId); var shoppingCart = _shoppingCartRepository.GetBySpecification(new ExpressionSpecification <ShoppingCart>(s => s.User.Id == user.Id)); if (shoppingCart == null) { throw new DomainException("用户{0}不存在购物车.", customerId); } var product = _productRepository.GetByKey(productId); var shoppingCartItem = _shoppingCartItemRepository.FindItem(shoppingCart, product); if (shoppingCartItem == null) { shoppingCartItem = new ShoppingCartItem() { Product = product, ShoopingCart = shoppingCart, Quantity = quantity }; _shoppingCartItemRepository.Add(shoppingCartItem); } else { shoppingCartItem.UpdateQuantity(shoppingCartItem.Quantity + quantity); _shoppingCartItemRepository.Update(shoppingCartItem); } RepositorytContext.Commit(); }
public void DeleteShoppingCartItem(Guid shoppingCartItemId) { var shoppingCartItem = _shoppingCartItemRepository.GetByKey(shoppingCartItemId); _shoppingCartItemRepository.Remove(shoppingCartItem); RepositorytContext.Commit(); }
public void UpdateShoppingCartItem(Guid shoppingCartItemId, int quantity) { var shoppingCartItem = _shoppingCartItemRepository.GetByKey(shoppingCartItemId); shoppingCartItem.UpdateQuantity(quantity); _shoppingCartItemRepository.Update(shoppingCartItem); RepositorytContext.Commit(); }
public void Dispatch(Guid orderId) { using (var transactionScope = new TransactionScope()) { var order = _orderRepository.GetByKey(orderId); order.Dispatch(); _orderRepository.Update(order); RepositorytContext.Commit(); _eventBus.Commit(); transactionScope.Complete(); } }