Exemple #1
0
 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);
 }
Exemple #2
0
        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);
        }