private string ValidateText(string value, object Min, object Max) { if (value == null) { return(""); } if (!this.Mandatory && value.Trim().Length == 0) { return(""); } if (Min != null && ((string)value).Trim().Length < Convert.ToInt32(Min)) { var name = Name.ToUpperInvariant(); var tag = MultistringTag.Assign("TERMINAL_FORM_" + name + "_" + ErrorTextLow, ""); return(TranslationProvider.Translate(tag) as string); } if (Max != null && ((string)value).Trim().Length > Convert.ToInt32(Max)) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorTextHigh, "")) as string); } return(""); }
private string ValidateDate(string value, object Min, object Max) { if (value == null) { return(""); } DateTime minDate; DateTime.TryParse(Min.ToString(), new DateTimeFormatInfo() { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out minDate); if (minDate == DateTime.MinValue) { DateTime valueDate; DateTime.TryParse(value, new DateTimeFormatInfo() { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out valueDate); DateTime maximumBirthdate = DateTime.Now.AddYears(-Convert.ToInt32(Min)); DateTime minimumBirthdate = DateTime.Now.AddYears(-Convert.ToInt32(Max)); if (maximumBirthdate < valueDate) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorDateLow, "")) as string); } if (minimumBirthdate > valueDate) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorDateHigh, "")) as string); } } else { DateTime valueDate; DateTime.TryParse(value, new DateTimeFormatInfo() { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out valueDate); if (Min != null && valueDate < DateTime.Parse((string)Min)) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorDateLow, "")) as string); } if (Max != null && valueDate > DateTime.Parse((string)Max)) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorDateHigh, "")) as string); } } return(""); }
private string ValidateInteger(string value, object Min, object Max) { if (Min != null && ((string)value) != "" && Convert.ToDecimal(value) < Convert.ToDecimal(Min)) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorIntLow, "")) as string); } if (Max != null && ((string)value) != "" && Convert.ToDecimal(value) > Convert.ToDecimal(Max)) { return(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_" + ErrorIntHigh, "")) as string); } return(""); }
private void LanguageChosen(string obj) { //GetRegistrationForm(); foreach (var field in RegistrationFields) { if (field.Name == "password2") { field.Label = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_CONFIRM_PASSWORD) + "*"; } else { field.Label = TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + field.Name.ToUpperInvariant(), field.Name.ToUpperInvariant())).ToString().Replace("{0}", ""); } } }
private void LanguageChosen(string obj) { //Initfields(); foreach (var registration in FormFields) { var tag = MultistringTag.Assign("TERMINAL_FORM_" + registration.Name.ToUpperInvariant(), registration.Name.ToUpperInvariant()); registration.Label = TranslationProvider.Translate(tag) as string; registration.isValidatedEvent += field_isValidatedEvent; if (registration.Mandatory) { registration.Label += "*"; } } }
private IList <FoundUser> ConvertUsers(valueField[][] result) { var list = new List <FoundUser>(); if (result != null) { foreach (var account in result) { var acc = new SportBetting.WPF.Prism.Shared.Models.FoundUser(); acc.AccountId = Convert.ToInt32(account.Where(x => x.name.Contains("account_id")).Select(x => x.value).FirstOrDefault()); acc.Address = account.Where(x => x.name.Contains("address")).Select(x => x.value).FirstOrDefault(); DateTime date = DateTime.Today; DateTime.TryParse(account.Where(x => x.name.Contains("date_of_birth")).Select(x => x.value).FirstOrDefault(), new DateTimeFormatInfo { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out date); acc.DateOfBirth = date; acc.DocumentNumber = account.Where(x => x.name.Contains("document_number")).Select(x => x.value).FirstOrDefault(); string accDocumentNumber = account.Where(x => x.name.Contains("document_type")).Select(x => x.value).FirstOrDefault(); if (!String.IsNullOrEmpty(accDocumentNumber)) { acc.DocumentType = TranslationProvider.Translate(MultistringTag.Assign(accDocumentNumber, accDocumentNumber)) as string; } else { acc.DocumentType = ""; } acc.EMail = account.Where(x => x.name.Contains("email")).Select(x => x.value).FirstOrDefault(); acc.Firstname = account.Where(x => x.name.Contains("firstname")).Select(x => x.value).FirstOrDefault(); acc.Lastname = account.Where(x => x.name.Contains("lastname")).Select(x => x.value).FirstOrDefault(); acc.Username = account.Where(x => x.name.Contains("username")).Select(x => x.value).FirstOrDefault(); acc.Active = account.Where(x => x.name.Contains("active")).Select(x => x.value).FirstOrDefault() == "true"; acc.IsVerified = account.Where(x => x.name.Contains("verified")).Select(x => x.value).FirstOrDefault() == "1"; acc.Phone = account.Where(x => x.name.Contains("phone")).Select(x => x.value).FirstOrDefault(); acc.HasCard = Convert.ToInt32(account.Where(x => x.name.Contains("card_status")).Select(x => x.value).FirstOrDefault()); list.Add(acc); } } return(list); }
public override List <string> ValidateFields() { List <string> validationResults = new List <string>(); if (!string.IsNullOrEmpty(ErrorText)) { validationResults.Add(ErrorText); ErrorText = null; } if (string.IsNullOrEmpty(Value) && this.Mandatory) { validationResults.Add(this.Name + " is required"); } if (Rules != null) { object minValid = null; object maxValid = null; List <string> validationRules = new List <string>(); foreach (fieldValidationRule validationRule in Rules) { switch (validationRule.name) { case "MIN": minValid = validationRule.value; break; case "MAX": maxValid = validationRule.value; break; case "REG_EXP": string toTest = ""; if (this.Type == FieldType.EMail) { if (this.Value != null) { toTest = this.Value.ToLowerInvariant(); } else { toTest = null; } } else { toTest = this.Value; } if (!String.IsNullOrEmpty(this.Value) && !Regex.IsMatch(toTest, validationRule.value)) { if (this.Type == FieldType.EMail) { validationResults.Add(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_EMAIL_WRONGFORMAT)); } else if (String.IsNullOrEmpty(this.Value) && !this.Mandatory) { } else { validationResults.Add(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_INVALIDVALUE)); } } break; } } if (validationRules != null && validationRules.Count > 0 && !string.IsNullOrEmpty(Value)) { foreach (string validationRule in validationRules) { if (!Regex.IsMatch(this.Value, validationRule)) { validationResults.Add(TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + Name.ToUpperInvariant() + "_WRONGREGEXP", ""))); } } } if (minValid != null || maxValid != null) { string error = ""; switch (this.Type) { case FieldType.Text: case FieldType.Password: case FieldType.Password2: error = ValidateText(this.Value, minValid, maxValid); break; case FieldType.Numeric: error = ValidateText(this.Value, minValid, maxValid); break; case FieldType.Date: error = ValidateDate(this.Value, minValid, maxValid); break; } if (!String.IsNullOrEmpty(error)) { if (this.Type == FieldType.Password || this.Type == FieldType.Password2) { validationResults.Add(error); } else { validationResults.Add(error); } } } if (PasswordConfirmation != null) { string error = ""; switch (this.Type) { //case FieldType.Password: // if (PasswordConfirmation != null && (string.IsNullOrEmpty(error) && !string.IsNullOrEmpty(PasswordConfirmation.Value))) // error = ValidateSecondPassword(this.Value, PasswordConfirmation.Value); // break; case FieldType.Password2: if (PasswordConfirmation != null) { error = ValidateSecondPassword(this.Value, PasswordConfirmation.Value); } break; } if (!String.IsNullOrEmpty(error)) { validationResults.Add(error); } } } if (this.Type == FieldType.EMail && !string.IsNullOrEmpty(Value)) { if (!Regex.IsMatch(this.Value.ToLowerInvariant(), EMAIL_REGEX)) { validationResults.Add(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_EMAIL_WRONGFORMAT)); } } if (validationResults.Count > 0) { Error = validationResults[0]; } else { Error = null; } if (isValidatedEvent != null) { isValidatedEvent(this, validationResults.Count == 0); } return(validationResults); }
private List <global::ViewModels.Registration> InitFields(IEnumerable <formField> fields) { List <global::ViewModels.Registration> _fields = new List <global::ViewModels.Registration>(); List <global::ViewModels.Registration> tempFields = new List <global::ViewModels.Registration>(); foreach (formField accountingField in fields) { if (accountingField.type == null) { continue; } global::ViewModels.Registration field = new global::ViewModels.Registration(); field.isValidatedEvent += field_isValidatedEvent; field.ReadOnly = accountingField.@readonly; field.IsEnabled = false; field.EmptyValidation = field.IsEnabled; field.Visible = !accountingField.hidden; field.Name = accountingField.name; field.Value = accountingField.value; field.Label = TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + field.Name.ToUpperInvariant(), field.Name.ToUpperInvariant())).ToString().Replace("{0}", ""); field.Rules = new List <fieldValidationRule>(); field.Type = AccountingToFormFieldsMap[accountingField.type]; if (accountingField.validation_rules != null) { foreach (fieldValidationRule rule in accountingField.validation_rules) { field.Rules.Add(rule); } } if (accountingField.field_options != null) { foreach (fieldOption option in accountingField.field_options) { field.Options.Add(new SelectorValue(option.value, option.id)); } if (accountingField.field_options.Length == 0) { field.Options.Add(new SelectorValue(accountingField.value, accountingField.value)); } if (field.Options.All(sv => sv.Name != field.Value)) { var svTmp = field.Options.FirstOrDefault(); if (svTmp != null) { field.Value = svTmp.Name; } } } else { field.Options.Add(new SelectorValue(accountingField.value, accountingField.value)); if (field.Options.All(sv => sv.Name != field.Value)) { var svTmp = field.Options.FirstOrDefault(); if (svTmp != null) { field.Value = svTmp.Name; } } } if (accountingField.type == "DROPDOWN") { if (!String.IsNullOrEmpty(accountingField.value)) { field.Value = TranslationProvider.Translate(MultistringTag.Assign(accountingField.value.ToUpperInvariant(), accountingField.value.ToUpperInvariant())).ToString(); } else { field.Value = ""; } } if (accountingField.type == "PHONE") { field.ValueInt = accountingField.value; } if (accountingField.type == "CURRENCY") { field.Value = StationRepository.Currency; } if (accountingField.type == "LANGUAGE") { var languages = new SyncObservableCollection <Language>(); LanguageRepository.GetAllLanguages(languages); foreach (var lang in languages) { field.Options.Add(new SelectorValue(lang.ShortName, lang.ShortName)); } field.Value = accountingField.value; } else { _fields.Add(field); } field.Mandatory = accountingField.mandatory; if (field.Mandatory) { field.Label += "*"; } if (field.Type == FieldType.Date) { DateTime selDate = new DateTime(); DateTime.TryParse(field.Value, new DateTimeFormatInfo { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out selDate); field.Value = selDate.ToString("dd.MM.yyyy"); } if (accountingField.name == "tax_number" && !StationRepository.DisplayTaxNumber) { field.Visible = false; } if (accountingField.name != "bet_acceptance_checked" && accountingField.name != "terms_and_cond_version") { tempFields.Add(field); } } return(tempFields); }
private void OnLoadPaymentNote(string paymentNoteNumber) { Log.Debug("BARCODE: LoadPaymentNote(2)"); Blur(); PaymentNoteNumber = paymentNoteNumber; if (_paymentNoteChecked) { Log.Debug("Paymentnote number:" + PaymentNoteNumber); } else { Log.Debug("Credit number:" + PaymentNoteNumber); } try { if (_paymentNoteChecked) { amount = 0; if (StationRepository.IsImmediateWithdrawEnabled) { OnRegisterPaymentNote(); } else { var userData = WsdlRepository.LoadPaymentNote(PaymentNoteNumber, StationRepository.GetUid(ChangeTracker.CurrentUser), out amount); //var username = userData.fields.Where(x => x.name == "username").Select(x => x.value).FirstOrDefault(); var firstname = ""; var lastname = ""; var documentType = ""; var documentNumber = ""; foreach (var formField in userData.fields) { if (formField.name == "firstname") { firstname = formField.value ?? ""; } if (formField.name == "lastname") { lastname = formField.value ?? ""; } if (formField.name == "document_type") { documentType = formField.value ?? ""; } if (formField.name == "document_number") { documentNumber = formField.value ?? ""; } } var amountEuros = (int)amount; int amountCents = (int)((amount - amountEuros) * 100); var text = TranslationProvider.Translate(MultistringTags.PAY_PAYMENTNOTE, amount, StationRepository.Currency, firstname, lastname) + "\r\n"; text += TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_DOCUMENT_TYPE, TranslationProvider.Translate(MultistringTag.Assign(documentType, documentType)).ToString()) + "\r\n"; text += TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_DOCUMENT_NUMBER, documentNumber) + "\r\n"; var yesButtonText = TranslationProvider.Translate(MultistringTags.PAYMENT_DONE).ToString(); var noButtonText = TranslationProvider.Translate(MultistringTags.SHOP_FORM_CANCEL).ToString(); QuestionWindowService.ShowMessage(text, yesButtonText, noButtonText, model_YesClick, model_NoClick); } } else { if (!StationRepository.AllowAnonymousBetting) { UnBlur(); ShowError(TranslationProvider.Translate(MultistringTags.ANONYMOUS_BETTING_IS_DISABLED_CREDITNOTE) as string); return; } if (StationRepository.IsCreditNoteImmediatelyPaid) { OnRegisterCreditNote(); } else { var creditNote = WsdlRepository.LoadCreditNote(PaymentNoteNumber.Substring(0, PaymentNoteNumber.Length - 4), PaymentNoteNumber.Substring(PaymentNoteNumber.Length - 4), StationRepository.StationNumber); amount = creditNote.amount; _expiryDate = creditNote.expireDate; var amountEuros = (int)creditNote.amount; int amountCents = (int)((creditNote.amount - amountEuros) * 100); string text = null; var yesButtonText = TranslationProvider.Translate(MultistringTags.PAYMENT_DONE).ToString(); var noButtonText = TranslationProvider.Translate(MultistringTags.SHOP_FORM_CANCEL).ToString(); if (_expiryDate < DateTime.Now && StationRepository.PayoutExpiredPaymentCreditNotes) { text = string.Format( TranslationProvider.Translate(MultistringTags.PAY_EXPIRED_CREDITNOTE).ToString(), creditNote.amount, StationRepository.Currency); QuestionWindowService.ShowMessage(text, null, null, modelCreditNote_YesClick, null, warning: true); } else if (_expiryDate < DateTime.Now && !StationRepository.PayoutExpiredPaymentCreditNotes) { ErrorWindowService.ShowError( TranslationProvider.Translate(MultistringTags.EXPIRED_CREDITNOTE).ToString()); } else { text = TranslationProvider.Translate(MultistringTags.PAY_CREDITNOTE, creditNote.amount, StationRepository.Currency) + "\r\n"; QuestionWindowService.ShowMessage(text, yesButtonText, noButtonText, modelCreditNote_YesClick, model_NoClick); } } } } catch (FaultException <HubServiceException> error) { switch (error.Detail.code) { case 170: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.PAYMENTNOTE_NOTFOUND).ToString()); break; case 171: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.PAYMENT_NOTE_EXPIRED).ToString()); break; case 174: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.PAYMENT_NOTE_PAID).ToString()); break; case 179: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_NOTE_INVALIDLOCATION).ToString()); break; case 1791: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_NOTE_INVALIDFRANCHISOR).ToString()); break; case 401: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.CREDIT_NOTE_ALREADY_EXISTS).ToString()); break; case 402: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_CREDIT_NOTE_NOT_ACTIVE).ToString()); break; case 403: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_CREDIT_NOTE_INVALID_AMOUNT).ToString()); break; case 404: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_PAID_CREDITNOTE).ToString()); break; case 405: ErrorWindowService.ShowError(TranslationProvider.Translate(MultistringTags.CREDIT_NOTE_EXPIRED).ToString()); break; default: ErrorWindowService.ShowError(error.Detail.message); break; } } catch (Exception e) { Log.Error(e.Message, e); } UnBlur(); }
private List <global::ViewModels.Registration> InitFields(formField[] fields) { List <global::ViewModels.Registration> _fields = new List <global::ViewModels.Registration>(); foreach (formField accountingField in fields) { if (!accountingField.searchable) { continue; } global::ViewModels.Registration field = new global::ViewModels.Registration(); //field.isValidatedEvent += new isValidatedDelegate(field_isValidatedEvent); field.ReadOnly = false; field.IsEnabled = true; field.Visible = !accountingField.hidden; field.Name = accountingField.name; field.Value = accountingField.value; field.Label = TranslationProvider.Translate(MultistringTag.Assign("TERMINAL_FORM_" + field.Name.ToUpperInvariant(), field.Name.ToUpperInvariant())).ToString().Replace("{0}", ""); if (accountingField.type == null) { continue; } field.Type = AccountingToFormFieldsMap[accountingField.type]; if (accountingField.field_options != null) { foreach (fieldOption option in accountingField.field_options) { field.Options.Add(new SelectorValue(option.value, option.id)); } if (!field.Options.Any(sv => sv.Name == field.Value)) { var svTmp = field.Options.FirstOrDefault(); if (svTmp != null) { field.Value = svTmp.Value; } } } if (accountingField.type == "DROPDOWN") { string[] ids = accountingField.default_value.Split(';'); foreach (var id in ids) { string mltStr = TranslationProvider.Translate(MultistringTag.Assign(id.ToUpperInvariant(), id.ToUpperInvariant())).ToString(); field.Options.Add(new SelectorValue(mltStr, id)); } } else { //field.Value = accountingField.default_value; field.Value = ""; } if (accountingField.type == "CURRENCY") { field.IsEnabled = false; field.EmptyValidation = field.IsEnabled; } if (accountingField.type == "PHONE") { field.ValueInt = accountingField.value; } if (accountingField.type == "LANGUAGE") { var languages = new SyncObservableCollection <Language>(); //LanguageRepository.GetAllLanguages(languages); var lr = new LanguageRepository(); lr.GetAllLanguages(languages); foreach (var lang in languages) { field.Options.Add(new SelectorValue(lang.ShortName, lang.ShortName)); } field.Value = accountingField.default_value; } if (field.Type == FieldType.Password) { _fields.Add(field); global::ViewModels.Registration secondPasswordField = new global::ViewModels.Registration(); field.PasswordConfirmation = secondPasswordField; secondPasswordField.PasswordConfirmation = field; //secondPasswordField.isValidatedEvent += new isValidatedDelegate(field_isValidatedEvent); secondPasswordField.Name = "password2"; secondPasswordField.Label = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_CONFIRM_PASSWORD) + "*"; secondPasswordField.Type = FieldType.Password2; secondPasswordField.IsEnabled = true; secondPasswordField.Mandatory = true; secondPasswordField.Value = ""; _fields.Add(secondPasswordField); } else if (field.Type == FieldType.Date) { //if (string.IsNullOrWhiteSpace(field.Value)) //{ // field.Value = DateTime.Today.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture); //} //DateTime selDate = new DateTime(); //DateTime.TryParse(field.Value, new DateTimeFormatInfo() { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out selDate); //field.Value = selDate.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture); field.Value = " "; _fields.Add(field); } else { _fields.Add(field); } if (accountingField.name == "tax_number" && !StationRepository.DisplayTaxNumber) { //field.Visible = false; _fields.Remove(field); } } return(_fields); }
private List <global::ViewModels.Registration> InitFields(IEnumerable <formField> fields) { List <global::ViewModels.Registration> _fields = new List <global::ViewModels.Registration>(); foreach (formField accountingField in fields) { if (accountingField.type == null) { continue; } var field = new global::ViewModels.Registration(); field.isValidatedEvent += field_isValidatedEvent; field.ReadOnly = accountingField.@readonly; field.IsEnabled = false; field.EmptyValidation = field.IsEnabled; field.Name = accountingField.name; field.Value = accountingField.value; field.Multistring = MultistringTag.Assign("TERMINAL_FORM_" + field.Name.ToUpperInvariant(), field.Name.ToUpperInvariant()); if (!StationRepository.IsIdCardEnabled && field.Multistring.Value == MultistringTags.TERMINAL_FORM_CARD_PIN_ENABLED.Value) { field.Multistring = MultistringTags.TERMINAL_FORM_BARCODECARD_PIN_ENABLED; } field.Label = TranslationProvider.Translate(field.Multistring); field.Rules = new List <fieldValidationRule>(); field.Type = AccountingToFormFieldsMap[accountingField.type]; foreach (fieldValidationRule rule in accountingField.validation_rules) { field.Rules.Add(rule); } if (accountingField.type == "DATE") { int minAge = 0; try { int.TryParse(StationRepository.HubSettings["min_play_age"], out minAge); } catch { } var rule = new fieldValidationRule() { name = "MIN", value = minAge.ToString() }; field.Rules.Add(rule); } if (accountingField.field_options != null) { foreach (fieldOption option in accountingField.field_options) { field.Options.Add(new SelectorValue(option.value, option.id)); } } field.Options.Add(new SelectorValue(accountingField.value, accountingField.value)); if (field.Options.All(sv => sv.Name != field.Value)) { var svTmp = field.Options.FirstOrDefault(); if (svTmp != null) { field.Value = svTmp.Name; } } if (accountingField.type == "CURRENCY") { field.Value = StationRepository.Currency; } if (accountingField.type == "DROPDOWN") { if (!String.IsNullOrEmpty(accountingField.value)) { field.Value = TranslationProvider.Translate(MultistringTag.Assign(accountingField.value.ToUpperInvariant(), accountingField.value.ToUpperInvariant())).ToString(); } else { field.Value = ""; } //field.ReadOnly = false; } if (accountingField.type == "PHONE") { field.ValueInt = accountingField.value; } if (accountingField.type == "LANGUAGE") { var languages = new SyncObservableCollection <Language>(); LanguageRepository.GetAllLanguages(languages); foreach (var lang in languages) { field.Options.Add(new SelectorValue(lang.ShortName, lang.ShortName)); } field.Value = accountingField.value; } else { _fields.Add(field); } field.Mandatory = accountingField.mandatory; if (field.Mandatory) { field.Label += "*"; } if (field.Type == FieldType.Date) { DateTime selDate = new DateTime(); DateTime.TryParse(field.Value, new DateTimeFormatInfo() { DateSeparator = ".", ShortDatePattern = "ddMMyyyy" }, DateTimeStyles.AllowWhiteSpaces, out selDate); field.Value = selDate.ToString("dd.MM.yyyy"); } if (field.Name == "card_pin_enabled") { if (field.Value == "1") { if (StationRepository.IsIdCardEnabled) { field.Value = TranslationProvider.Translate(MultistringTags.ENABLED_PIN).ToString(); } else { field.Value = TranslationProvider.Translate(MultistringTags.BARCODE_ENABLED_PIN).ToString(); } } else { if (StationRepository.IsIdCardEnabled) { field.Value = TranslationProvider.Translate(MultistringTags.DISABLED_PIN).ToString(); } else { field.Value = TranslationProvider.Translate(MultistringTags.BARCODE_DISABLED_PIN).ToString(); } } } if (accountingField.name == "tax_number" && !StationRepository.DisplayTaxNumber) { field.Visible = false; } if (accountingField.name == "bet_acceptance_checked") { field.Visible = false; } if (accountingField.name == "terms_and_cond_version") { field.Visible = false; } } return(_fields); }
private void Initfields() { var fields = new List <global::ViewModels.Registration>(); global::ViewModels.Registration fieldUsername = new global::ViewModels.Registration(); fieldUsername.Mandatory = true; fieldUsername.Name = "username"; fieldUsername.Type = FieldType.Text; fieldUsername.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "255" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(fieldUsername); Username = fieldUsername; Username.IsFocused = true; global::ViewModels.Registration fieldPassword = new global::ViewModels.Registration(); fieldPassword.Mandatory = true; fieldPassword.Name = "password"; fieldPassword.Type = FieldType.Password; fieldPassword.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "35" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(fieldPassword); Password = fieldPassword; global::ViewModels.Registration fieldConfirmPassword = new global::ViewModels.Registration(); fieldConfirmPassword.Mandatory = true; fieldConfirmPassword.Name = "confirm_password"; fieldConfirmPassword.Type = FieldType.Password2; fieldConfirmPassword.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "35" }, new fieldValidationRule { name = "MIN", value = "3" }, new fieldValidationRule() }; fieldConfirmPassword.PasswordConfirmation = fieldPassword; fieldPassword.PasswordConfirmation = fieldConfirmPassword; fields.Add(fieldConfirmPassword); ConfirmPassword = fieldConfirmPassword; global::ViewModels.Registration fieldFirstName = new global::ViewModels.Registration(); fieldFirstName.Name = "first_name"; fieldFirstName.Mandatory = true; fieldFirstName.Type = FieldType.Text; fieldFirstName.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "35" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(fieldFirstName); FirstName = fieldFirstName; global::ViewModels.Registration fieldLastName = new global::ViewModels.Registration(); fieldLastName.Name = "last_name"; fieldLastName.Mandatory = true; fieldLastName.Type = FieldType.Text; fieldLastName.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "35" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(fieldLastName); LastName = fieldLastName; global::ViewModels.Registration fieldEmail = new global::ViewModels.Registration(); fieldEmail.Name = "email"; fieldEmail.Type = FieldType.EMail; fields.Add(fieldEmail); Email = fieldEmail; global::ViewModels.Registration fieldOperatorType = new global::ViewModels.Registration(); OperatorType = fieldOperatorType; fieldOperatorType.Name = "operator_type"; fieldOperatorType.Mandatory = true; fieldOperatorType.Type = FieldType.Selector; bool isEmpty = true; if (ChangeTracker.CurrentUser != null && ChangeTracker.CurrentUser.CreateOperator) { var opList = WsdlRepository.GetAllRoles(ChangeTracker.CurrentUser.AccountId.ToString()); if (opList == null || opList.Count() <= 0) { fieldOperatorType.Visible = false; fieldOperatorType.IsEnabled = false; } foreach (UserRole userRole in opList) { if (userRole.login_to_terminal == 1) { isEmpty = false; fieldOperatorType.Options.Add(new SelectorValue(userRole.name, userRole.id.ToString())); } } } //if (ChangeTracker.CurrentUser != null && ChangeTracker.CurrentUser.CreateOperator) // fieldOperatorType.Options.Add(new SelectorValue(TranslationProvider.Translate(MultistringTags.Location_owner).ToString(), "3")); //if (ChangeTracker.CurrentUser != null && ChangeTracker.CurrentUser.CreateOperator) // fieldOperatorType.Options.Add(new SelectorValue(TranslationProvider.Translate(MultistringTags.OPERATOR).ToString(), "4")); if (!isEmpty) { fields.Add(fieldOperatorType); } else { IsWarningVisible = Visibility.Visible; AreFieldsVisible = Visibility.Collapsed; Mediator.SendMessage(MsgTag.HideKeyboard, MsgTag.HideKeyboard); } fieldOperatorType.Rules = new List <fieldValidationRule>(); fieldOperatorType.Rules.Add(new fieldValidationRule() { name = "MIN", value = "1" }); fieldOperatorType.Value = fieldOperatorType.Options.Select(x => x.Value).FirstOrDefault(); fieldOperatorType.EmptyValidation = false; global::ViewModels.Registration fieldLanguage = new global::ViewModels.Registration(); Language = fieldLanguage; fieldLanguage.Mandatory = true; fieldLanguage.Name = "language"; fieldLanguage.Type = FieldType.DropDown; fieldLanguage.Options = new ObservableCollection <SelectorValue>(); var languages = new SyncObservableCollection <Language>(); LanguageRepository.GetAllLanguages(languages); foreach (var language in languages) { fieldLanguage.Options.Add(new SelectorValue(language.ShortName, language.ShortName)); } fieldLanguage.Value = fieldLanguage.Options.Select(x => x.Value).FirstOrDefault(); fieldLanguage.EmptyValidation = false; fields.Add(fieldLanguage); foreach (var registration in fields) { registration.IsEnabled = true; registration.Value = string.Empty; var tag = MultistringTag.Assign("TERMINAL_FORM_" + registration.Name.ToUpperInvariant(), registration.Name.ToUpperInvariant()); registration.Label = TranslationProvider.Translate(tag) as string; registration.isValidatedEvent += field_isValidatedEvent; if (registration.Mandatory) { registration.Label += "*"; } } FormFields = fields; }