private void OnBindCard() { try { var cards = WsdlRepository.GetIdCardInfo(EditUser.AccountId, Role.User); if (cards != null && cards.Any(card => card.active == "1")) { var text = TranslationProvider.Translate(MultistringTags.USER_HAVE_ACTIVE_CARD_IT_WILL_BE_BLOCKED); if (!StationRepository.IsIdCardEnabled) { text = TranslationProvider.Translate(MultistringTags.USER_HAVE_ACTIVE_BARCODECARD_IT_WILL_BE_BLOCKED); } QuestionWindowService.ShowMessage(text, null, null, model_YesClick, null); } else { model_YesClick(null, null); } } catch (FaultException <HubServiceException> exception) { if (exception.Detail.code == 169) { model_YesClick(null, null); } } }
private void BlockCardOperator() { try { IdCardInfoItem[] idCards = WsdlRepository.GetIdCardInfo(ChangeTracker.FoundOperator.AccountId, Role.Operator); if (idCards != null) { var idCard = idCards.Where(x => x.active == "1").FirstOrDefault(); if (idCard != null) { WsdlRepository.UpdateIdCard(idCard.number, "0", false, null); ChangeTracker.FoundOperator.ActiveCard = false; OnPropertyChanged("EnabledBlockIdCardOperator"); ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_DONE) as string); } } } catch (System.ServiceModel.FaultException <HubServiceException> exception) { switch (exception.Detail.code) { case 169: ShowError(TranslationProvider.Translate(MultistringTags.USER_DONT_HAVE_ACTIVE_CARD) as string); return; default: // 113, 114, 172 ShowError(exception.Detail.message); return; } } }
private void OnBindCard() { try { Blur(); var cards = WsdlRepository.GetIdCardInfo((int)ChangeTracker.CurrentUser.AccountId, Role.Operator); UnBlur(); if (cards != null && cards.Any(card => card.active == "1")) { var text = TranslationProvider.Translate(MultistringTags.USER_HAVE_ACTIVE_CARD_IT_WILL_BE_BLOCKED).ToString(); if (!StationRepository.IsIdCardEnabled) { text = TranslationProvider.Translate(MultistringTags.USER_HAVE_ACTIVE_BARCODECARD_IT_WILL_BE_BLOCKED).ToString(); } QuestionWindowService.ShowMessage(text, null, null, model_YesClick, null); } else { Mediator.SendMessage <long>(ChangeTracker.CurrentUser.AccountId, MsgTag.BindOperatorCard); OnPropertyChanged("IsCardButtonsActive"); OnPropertyChanged("BlockCardButtonsActive"); } } catch (FaultException <HubServiceException> error) { UnBlur(); if (error.Detail.code == 169) { Mediator.SendMessage <long>(ChangeTracker.CurrentUser.AccountId, MsgTag.BindOperatorCard); OnPropertyChanged("IsCardButtonsActive"); OnPropertyChanged("BlockCardButtonsActive"); } else { ShowError(error.Reason.Translations.Where(x => x.XmlLang.ToLowerInvariant() == SelectedLanguage.ToLowerInvariant()).Select(x => x.Text).FirstOrDefault()); } } OnPropertyChanged("IsEnablePinButtonVisible"); OnPropertyChanged("IsNewPinButtonVisible"); //Mediator.SendMessage<long>(ChangeTracker.CurrentUser.AccountId, MsgTag.BindOperatorCard); }
private void BlockClick(object sender, EventArgs ev) { try { var cards = WsdlRepository.GetIdCardInfo(EditUser.AccountId, Role.User); var result = ""; bool isDone = true; if (cards != null) { foreach (var card in cards.Where(x => x.active == "1")) { result = WsdlRepository.UpdateIdCard(card.number, "1", false, null); if (result != null && Boolean.Parse(result)) { isDone = Boolean.Parse(result) && isDone; } } } if (isDone) { EditUser.HasCard = 0; QuestionWindowService.ShowMessage(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_DONE).ToString(), null, null, null, null, false); } } catch (FaultException <HubServiceException> exception) { ShowError(exception.Detail.message); } catch (Exception e) { Log.Error(e.Message, e); } OnPropertyChanged("IsCardButtonsActive"); OnPropertyChanged("BlockCardButtonsActive"); OnPropertyChanged("IsEnabledBindCard"); OnPropertyChanged("ActiveCardText"); OnPropertyChanged("EditUser"); }
private void model_YesClick(object sender, EventArgs e) { if (EditUser == null) { return; } Mediator.SendMessage <long>(EditUser.AccountId, MsgTag.BindUserCard); OnPropertyChanged("IsCardButtonsActive"); OnPropertyChanged("BlockCardButtonsActive"); var cards = new IdCardInfoItem[0]; cards = null; try { cards = WsdlRepository.GetIdCardInfo(EditUser.AccountId, Role.User); } catch (Exception ex) { } if (cards != null && cards.Any(card => card.active == "1") && EditUser != null) { EditUser.HasCard = 1; } else if (cards != null && cards.Length > 0 && EditUser != null) { EditUser.HasCard = 0; } else if (EditUser != null) { EditUser.HasCard = 169; } OnPropertyChanged("IsCardButtonsActive"); OnPropertyChanged("ActiveCardText"); OnPropertyChanged("EditUser"); }
public int DoLogin(string UserName, string Password) { decimal reserved = 0; decimal factor; decimal cashpool = 0; if (ChangeTracker.CurrentUser is AnonymousUser) { cashpool = WsdlRepository.GetBalance(StationRepository.GetUid(ChangeTracker.CurrentUser), out reserved, out factor) - reserved; } ClearEverythingAfterUser(); SessionWS sessionId = WsdlRepository.OpenSession(StationRepository.StationNumber, false, UserName, Password, false); string username = sessionId.username; var lang = sessionId.default_language; string[] permissions = sessionId.permissions; string role = sessionId.roleName, roleColor = sessionId.highlight_color; int id = sessionId.account_id; if (TranslationProvider.CurrentLanguage != lang && lang != null) { TranslationProvider.CurrentLanguage = lang; Mediator.SendMessage(lang, MsgTag.LanguageChosenHeader); Mediator.SendMessage(lang, MsgTag.LanguageChosen); } if (sessionId.session_id == InvalidSessionID || sessionId.session_id == null) { var previousUser = ChangeTracker.CurrentUser; ClearEverythingAfterUser(); OpenAnonymousSession(false, previousUser); return(0); } else if (permissions != null) { var user = new OperatorUser(sessionId.session_id) { Username = UserName }; user.Username = user.Username.Trim(new Char[] { ' ', '@', '.' }); user.AccountId = id; user.RoleID = GetRoleId(sessionId.role_id); user.Role = role; user.RoleColor = roleColor; user.Permissions = permissions; IdCardInfoItem[] cards = null; try { cards = WsdlRepository.GetIdCardInfo(sessionId.account_id, Role.Operator); } catch (Exception) { } if (cards != null && cards.SingleOrDefault(c => c.active == "1") != null) { user.CardNumber = cards.Single(c => c.active == "1").number; user.HasActiveCard = true; } else { user.CardNumber = null; user.HasActiveCard = false; } user.PinEnabled = sessionId.card_pin_enabled == 1; ChangeTracker.CurrentUser = user; return(1); } else { if (StationRepository.Active == 0) { Mediator.SendMessage(new Tuple <string, string, bool, int>(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_STATION_LOCKED_BY_ADMIN).ToString(), "", false, 3), MsgTag.Error); var previousUser = ChangeTracker.CurrentUser; ClearEverythingAfterUser(); OpenAnonymousSession(false, previousUser); return(1); } foreach (var ticket in TicketHandler.TicketsInBasket.ToSyncList().Where(x => x.TipItems.ToSyncList().Any(c => c.IsChecked))) { TicketHandler.OnChangeStake("clear", ticket, ChangeTracker.CurrentUser.Cashpool); } var user = new LoggedInUser(id, sessionId.session_id, sessionId.balance.amount - sessionId.balance.reserved, sessionId.accountSystemSettings.user_deposit_limit_daily, sessionId.accountSystemSettings.user_deposit_limit_weekly, sessionId.accountSystemSettings.user_deposit_limit_monthly) { Username = UserName }; user.Permissions = permissions; if (!String.IsNullOrEmpty(sessionId.session_id)) { user.CardNumber = sessionId.cardNumber; } ChangeTracker.CurrentUser = user; ChangeTracker.CurrentUser.Currency = StationRepository.Currency; // user.RoleID = roleId; user.Role = role; user.RoleColor = roleColor; if (cashpool > 0) { Mediator.SendMessage <decimal>(cashpool, MsgTag.AskAboutCashPool); } GetUserPinSettingFromProfile(); var minLimit = ChangeTracker.CurrentUser.DailyLimit; if (ChangeTracker.CurrentUser.WeeklyLimit < minLimit) { minLimit = ChangeTracker.CurrentUser.WeeklyLimit; } if (ChangeTracker.CurrentUser.MonthlyLimit < minLimit) { minLimit = ChangeTracker.CurrentUser.MonthlyLimit; } var notificationText = TranslationProvider.Translate(MultistringTags.USER_LIMIT, minLimit, StationRepository.Currency); Mediator.SendMessage(notificationText, MsgTag.ShowNotification); Mediator.SendMessage(true, MsgTag.RefreshTicketDetails); if (sessionId.force_change_password) { return(3); } else if (sessionId.password_reminder) { return(2); } return(1); } }