Example #1
0
        public SaveWFSUserResponse SaveCustomer(SaveWFSUserRequest request)
        {
            var resp = new SaveWFSUserResponse();
            resp.Value = request.UserInfo;

            var user = request.UserInfo;
            var userCommand = new SaveWFSUserCommand(user);
            var userResponse = _repository.ExecuteCommand(userCommand);

            resp.Merge<WFSUser, WFSUser>((Result<WFSUser>)userResponse);

            if (resp.Status != Status.Success)
                return resp;

            request.UserInfo = userResponse.Value;

            var addCommand = new SaveWfsBillingAddressCommand(request.UserInfo);

            var addRes = _repository.ExecuteCommand(addCommand);

            ((Result<WFSUser>)addRes).Merge<WFSUser, WFSUser>(resp);

            if (resp.Status == Status.Success)
                resp.UserInfo = addRes.Value;

            return resp;
        }
Example #2
0
        public SaveVendorResponse SaveVendor(SaveVendorRequest request)
        {
            var resp = new SaveVendorResponse();

            resp.Value = request.Subject;

            var user = request.Subject.User;

            var userCommand = new SaveWFSUserCommand(request.Subject.User);

            var userResponse = _repository.ExecuteCommand(userCommand);

            resp.Merge<Vendor, WFSUser>((Result<WFSUser>)userResponse);

            if (resp.Status != Status.Success)
                return resp;

            request.Subject.User = userResponse.Value;

            var vendorCommand = new SaveVendorCommand(request.Subject);

            var venRes = _repository.ExecuteCommand(vendorCommand);

            ((Result<Vendor>)venRes).Merge<Vendor, Vendor>(resp);

            if (resp.Status == Status.Success)
                resp.Value = (Vendor)venRes.Value;

            return resp;
        }