示例#1
0
        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;
        }
示例#4
0
        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);
        }
示例#5
0
        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;
        }