public Watch WatchAssembled(string guid, WatchAssembledForm form)
 {
     if (ModelState.IsValid)
     {
         return(this.ContractService.WatchAssembled(guid, form));
     }
     throw new ArgumentException("invalid submission");
 }
        public Watch WatchAssembled(string guid, WatchAssembledForm form)
        {
            this.setupWatchContractCall(guid);

            UserInfo vendor = this.ValidateUserWithDualAuthCode(form.UserName, form.DualAuthCode);

            watchContractService.WatchAssembledRequestAsync(new WatchAssembledFunction()
            {
                VendorAddress   = vendor.BlockchainAddress,
                WatchGUID       = GUID,
                PhysicalAddress = form.PhysicalAddress,
                GasPrice        = 0
            }).GetAwaiter().GetResult();

            return(GetWatch(guid));
        }