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; } }
ValidateBonusResponseModel CreateResponse(string description) { ValidateBonusResponseModel validateBonus = new ValidateBonusResponseModel(); validateBonus.Descripcion = description; validateBonus.tipoBono = string.Empty; validateBonus.valorBono = 0; return(validateBonus); }
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); }
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; }
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); }
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); }