示例#1
0
        async Task OnScannedCode(string code)
        {
            IsLoading = true;
            try
            {
                var validateModel = CreateRequest(code);
                ValidateBonusResponseModel validBonus = await _validBonusService.ValidBonus(validateModel);

                LoadData();
                await _popupService.ShowValidationBonus(validBonus, true, async() =>
                {
                    await OnAddBonusEvent();
                });
            }
            catch (NoAuthException ex) {
                await _messageService.HandleException(ex);
            }
            catch (Exception ex)
            {
                var invalidBonus = CreateResponse(ex.Message);
                await _popupService.ShowValidationBonus(invalidBonus, false, async() =>
                {
                    await OnAddBonusEvent();
                });
            }
            finally
            {
                IsLoading = false;
            }
        }
示例#2
0
        ValidateBonusResponseModel CreateResponse(string description)
        {
            ValidateBonusResponseModel validateBonus = new ValidateBonusResponseModel();

            validateBonus.Descripcion = description;
            validateBonus.tipoBono    = string.Empty;
            validateBonus.valorBono   = 0;
            return(validateBonus);
        }
示例#3
0
        public async Task ShowValidationBonus(ValidateBonusResponseModel validateBonusResponse, bool isValid = true, Action action = null)
        {
            var validationViewModel = new ValidationBonusPopUpViewModel(validateBonusResponse, isValid, () =>
            {
                action?.Invoke();
            });

            var page = new ValidationBonusPopUpPage(validationViewModel);
            await PopupNavigation.Instance.PushAsync(page);
        }
示例#4
0
        public ValidationBonusPopUpViewModel(ValidateBonusResponseModel validateBonusResponse, bool isValid = true, Action action = null)
        {
            _cucService            = FreshMvvm.FreshIOC.Container.Resolve <ICUCService>();
            _loginService          = FreshMvvm.FreshIOC.Container.Resolve <ILoginService>();
            _action                = action;
            _validateBonusResponse = validateBonusResponse;

            this.IsValid = isValid;

            Title       = IsValid ? "BONO VÁLIDO" : "BONO NO VÁLIDO";
            Image       = IsValid ? "icon_check" : "icon_x";
            Description = _validateBonusResponse.Descripcion;

            var userName     = _loginService.GetUser().UserName;
            var sellingPoint = _cucService.GetCurrentCUC(userName);

            SellingPointTitle       = sellingPoint.nombrePuntoventa;
            SellingPointDescription = sellingPoint.descripcion;
            SellingPointProduct     = _validateBonusResponse.tipoBono;
            SellingPointPrice       = _validateBonusResponse.valorBono;
        }
示例#5
0
 public async Task ShowSuccessFinishAllMessage(ValidateBonusResponseModel bono)
 {
     string description = string.Format("los bonos han sido enviados satisfactoriamente con el número de reembolso #{0}", bono.nroAprobacion.PadLeft(6, '0'));
     ResultStatesBonusPopUpPage view = new ResultStatesBonusPopUpPage("ENVIAR BONOS APROBADOS", description, "CONTINUAR");
     await PopupNavigation.Instance.PushAsync(view);
 }
示例#6
0
 public async Task ShowConfirmDeleteMessage(ValidateBonusResponseModel bono, Action doAction)
 {
     string description = string.Format("estas seguro de eliminar el bono {0} por valor de {1:C0}?", bono.nroBono, bono.valorBono);
     ConfirmationStatesBonusPopUpPage view = new ConfirmationStatesBonusPopUpPage("ELIMINAR BONO", description, 1, "ELIMINAR", "CANCELAR", doAction);
     await PopupNavigation.Instance.PushAsync(view);
 }