Exemplo n.º 1
0
        private CalculateVatRequest CreateCalculateVatRequest()
        {
            CalculateVatRequest result = new CalculateVatRequest();
            decimal             netto  = 0;
            bool isValidNetto          = Decimal.TryParse(tbNetto.Text, out netto);

            result.Netto   = netto;
            result.TaxRate = ((GuiObjects.ListElement <decimal>)cbbTaxRate.SelectedItem).Value;
            return(result);
        }
Exemplo n.º 2
0
 protected override IEnumerable<Message> Validate<T1>(CalculateRequestBase request)
 {
     CalculateVatRequest innerRequest = (CalculateVatRequest)request;
     if (!validRates.Contains(innerRequest.TaxRate))
     {
         yield return CreateError("Stawka podatku nieprawidłowa.");
     }
     if (innerRequest.Netto < 0 || innerRequest.Netto > arbitraryMaximumSensibleNetto)
     {
         yield return CreateError("Kwota netto nieprawidłowa.");
     }
 }
Exemplo n.º 3
0
        private void btnCalculate_Click(object sender, EventArgs e)
        {
            Logic.Logic          logic    = new Logic.Logic();
            CalculateVatRequest  request  = CreateCalculateVatRequest();
            CalculateVatResponse response = logic.HandleCalculateRequest(request) as CalculateVatResponse;

            if (response != null && response.IsValid)
            {
                //zakładając że chcemy zaokrąglenie
                response.Result = Math.Round(response.Result, 2, MidpointRounding.AwayFromZero);
                tbBrutto.Text   = String.Format("{0:0.##}", response.Result);
            }
            else
            {
                // można też gdzieś wrzucić komunikaty walidacyjne
                tbBrutto.Text = String.Empty;
            }
        }
Exemplo n.º 4
0
 protected override decimal CalculateResult<T1>(CalculateRequestBase request)
 {
     CalculateVatRequest innerRequest = (CalculateVatRequest)request;
     decimal result = (innerRequest.TaxRate + 1) * innerRequest.Netto;
     return result;
 }