public void Handle(SubmitRequestCommand message)
        {
            RequestTimeout <TimeoutMessage>(TimeSpan.FromSeconds(60));

            Data.RequestId   = message.RequestId;
            Data.Description = message.Description;
            Data.Cost        = message.Cost;
            Data.RequiresApprovalByLevel1 = message.Cost > 100.00m;
            Data.RequiresApprovalByLevel2 = message.Cost > 1000.00m;
            Data.ApprovedByLevel1         = false;
            Data.ApprovedByLevel2         = false;

            ProcessApproval();
        }
Example #2
0
        private void ButtonSubmitClick(object sender, EventArgs e)
        {
            var requestId   = Guid.NewGuid();
            var description = textboxDescription.Text;

            if (string.IsNullOrWhiteSpace(description))
            {
                MessageBox.Show("You must provide a valid description.");
                DialogResult = DialogResult.None;
                return;
            }

            decimal cost;

            if (!decimal.TryParse(textboxCost.Text, out cost))
            {
                MessageBox.Show("You must provide a valid cost.");
                DialogResult = DialogResult.None;
                return;
            }

            var item = new ItemViewModel
            {
                RequestId   = requestId,
                Description = description,
                Cost        = cost
            };

            var command = new SubmitRequestCommand
            {
                RequestId   = requestId,
                Description = description,
                Cost        = cost
            };

            Context.Items.Add(item);
            Bus.Send(command);

            DialogResult = DialogResult.OK;
        }