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 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 void InitFields() { var fields = new List <global::ViewModels.Registration>(); Username = new global::ViewModels.Registration(); Username.Mandatory = true; Username.Label = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_USERNAME) as string; Username.Name = "username"; Username.Type = FieldType.Text; Username.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "255" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(Username); Username.Value = ChangeTracker.FoundOperator.Username; FirstName = new global::ViewModels.Registration(); FirstName.Name = "first_name"; FirstName.Label = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_FIRSTNAME) as string; FirstName.Mandatory = true; FirstName.Type = FieldType.Text; FirstName.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "35" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(FirstName); FirstName.Value = ChangeTracker.FoundOperator.Firstname; LastName = new global::ViewModels.Registration(); LastName.Name = "last_name"; LastName.Mandatory = true; LastName.Label = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_LASTNAME) as string; LastName.Type = FieldType.Text; LastName.Rules = new List <fieldValidationRule> { new fieldValidationRule { name = "MAX", value = "35" }, new fieldValidationRule { name = "MIN", value = "3" } }; fields.Add(LastName); LastName.Value = ChangeTracker.FoundOperator.Lastname; Email = new global::ViewModels.Registration(); Email.Name = "email"; Email.Type = FieldType.EMail; Email.Label = TranslationProvider.Translate(MultistringTags.TERMINAL_FORM_EMAIL) as string; fields.Add(Email); Email.Value = ChangeTracker.FoundOperator.EMail; Location = new global::ViewModels.Registration(); Location.Name = "location"; Location.Label = TranslationProvider.Translate(MultistringTags.LOCATION) as string; Location.Type = FieldType.Text; fields.Add(Location); Location.Value = ChangeTracker.FoundOperator.Location; Franchisor = new global::ViewModels.Registration(); Franchisor.Name = "franchisor"; Franchisor.Label = TranslationProvider.Translate(MultistringTags.FRANCHISOR) as string; Franchisor.Type = FieldType.Text; fields.Add(Franchisor); Franchisor.Value = ChangeTracker.FoundOperator.Franchisor; Role = new global::ViewModels.Registration(); Role.Name = "role"; Role.Label = TranslationProvider.Translate(MultistringTags.ROLE) as string; Role.Type = FieldType.Text; fields.Add(Role); Role.Value = ChangeTracker.FoundOperator.Role; if (ChangeTracker.FoundOperator.ActiveCard == true) { CardPin = new global::ViewModels.Registration(); CardPin.Name = "cardpin"; CardPin.Label = TranslationProvider.Translate(MultistringTags.CARDPIN) as string; CardPin.Type = FieldType.Text; fields.Add(CardPin); CardPin.Value = ChangeTracker.FoundOperator.CardPin; } FormFields = 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; }