public async Task InsertProductsByBusinesses(ProductsByBusinesses productsByBusinesses) { string query = $"INSERT INTO ProductsByBusinesses(ProductId,BusinessId,AssignedBy,AssignedDate)" + $"VALUES(@ProductId,@BusinessId,@AssignedBy,@AssignedDate)"; await Connection.ExecuteAsync(query, new { ProductId = productsByBusinesses.ProductId, BusinessId = productsByBusinesses.BusinessId, AssignedBy = productsByBusinesses.AssignedBy, AssignedDate = productsByBusinesses.AssignedDate }, transaction : Transaction); }
public async Task <HttpStatusCode> Handle(ProductByBusinessCommand request, CancellationToken cancellationToken) { await unitOfWork.BusinessRepository.RemoveExistingProducts(request.BusinessId); foreach (var product in request.Products) { var productsByBusinesses = new ProductsByBusinesses() { ProductId = product, BusinessId = request.BusinessId, AssignedBy = request.UserId, AssignedDate = DateTime.Now }; await unitOfWork.BusinessRepository.InsertProductsByBusinesses(productsByBusinesses); } unitOfWork.Commit(); return(HttpStatusCode.OK); }
public async Task <HttpStatusCode> Handle(CreateNewBusinessCommand request, CancellationToken cancellationToken) { var id = Guid.NewGuid(); var business = new DataModel.Model.Businesses() { Id = id, Name = request.Name, IsActive = true, Logo = "", MobileTelephone = request.MobileTelephone, WorkTelephone = request.WorkTelephone, Fax = request.Fax, Website = request.Website, Email = request.Email, CreatedBy = request.UserId, LastUpdatedBy = request.UserId }; var address = new DataModel.Model.Address() { Id = id, AddressLine1 = request.Address.AddressLine1, AddressLine2 = request.Address.AddressLine2, City = request.Address.City, State = request.Address.State, Country = request.Address.Country, PostalCode = request.Address.PostalCode }; var user = new User() { Id = Guid.NewGuid(), FirstName = request.Name, UserName = request.UserName, Password = cryptographyHelper.Encrypt(request.Password), DefaultProductId = request.Products.FirstOrDefault(), DefaultRoleId = Guid.Parse(Constant.Admin), BusinessId = id, IsActive = true, CreatedBy = request.UserId, LastUpdatedBy = request.UserId }; var rows = await unitOfWork.BusinessRepository.CreateNewBusiness(business); foreach (var item in request.Products) { var productsByBusinesses = new ProductsByBusinesses() { ProductId = item, BusinessId = id, AssignedBy = request.UserId, AssignedDate = DateTime.Now }; await unitOfWork.BusinessRepository.InsertProductsByBusinesses(productsByBusinesses); } await unitOfWork.UserRepository.CreateNewUser(user); await unitOfWork.AddressRepository.Insert(address); unitOfWork.Commit(); return(HttpStatusCode.OK); }