コード例 #1
0
        public async void Submit_Tapped(System.Object sender, System.EventArgs e)
        {
            errors.IsVisible           = false;
            errors.Text                = "";
            buttonsLayout.IsVisible    = false;
            loadingIndicator.IsVisible = true;
            loadingIndicator.IsRunning = true;

            if (string.IsNullOrEmpty(Coupon) && string.IsNullOrWhiteSpace(Coupon))
            {
                errors.IsVisible           = true;
                buttonsLayout.IsVisible    = true;
                errors.Text                = "Es necesario que ingrese un código de descuento";
                loadingIndicator.IsVisible = false;
                loadingIndicator.IsRunning = false;
                return;
            }

            if (!await internetService.VerificaInternet())
            {
                errors.IsVisible           = true;
                errors.Text                = "Sin conexión a internet";
                buttonsLayout.IsVisible    = true;
                loadingIndicator.IsVisible = false;
                loadingIndicator.IsRunning = false;
                return;
            }

            ICPFeeds Service = DependencyService.Get <ICPFeeds>();
            var      model   = await Service.VerifyCoupon(Coupon);

            if (model is null)
            {
                errors.IsVisible           = true;
                buttonsLayout.IsVisible    = true;
                loadingIndicator.IsVisible = false;
                loadingIndicator.IsRunning = false;
                errors.Text = "Ocurrio un error al obtener la respuesta del servidor, intente de nuevo.";
                return;
            }

            if (model.Code != "0")
            {
                errors.IsVisible           = true;
                buttonsLayout.IsVisible    = true;
                loadingIndicator.IsVisible = false;
                loadingIndicator.IsRunning = false;
                errors.Text = model.Message;
                return;
            }

            // verificamos descuento de monto.
            //if(model.Result.CategoryId == 1 && model.Result.QuantityDiscount > Total)
            //{
            //    errors.IsVisible = true;
            //    buttonsLayout.IsVisible = true;
            //    loadingIndicator.IsVisible = false;
            //    loadingIndicator.IsRunning = false;
            //    errors.Text = $"Este cupón no se puede utilizar tiene un descuento de ${model.Result.QuantityDiscount} que es mayor a ${Total}";
            //    return;
            //}

            if (_resultCompletion != null)
            {
                _resultCompletion.SetResult(
                    PromotionalCodeResult.Success(
                        model.Result.Id,
                        model.Result.Code,
                        model.Result.QuantityDiscount ?? 0,
                        model.Result.Remarks,
                        model.Result.DueDate,
                        model.Result.CategoryId,
                        model.Result.PercentageDiscount ?? 0
                        ));
                _resultCompletion = null;
            }
        }