Example #1
0
        public SavedItem GetSavedItem()
        {
            if (SaveType == SaveDataType.Password)
            {
                var passwordField = PasswordFields.FirstOrDefault(f => !string.IsNullOrWhiteSpace(f.TextValue));
                if (passwordField == null)
                {
                    return(null);
                }

                var savedItem = new SavedItem
                {
                    Type  = App.Enums.CipherType.Login,
                    Login = new SavedItem.LoginItem
                    {
                        Password = GetFieldValue(passwordField)
                    }
                };

                var usernameField = Fields.TakeWhile(f => f.AutofillId != passwordField.AutofillId).LastOrDefault();
                savedItem.Login.Username = GetFieldValue(usernameField);

                return(savedItem);
            }
            else if (SaveType == SaveDataType.CreditCard)
            {
                var savedItem = new SavedItem
                {
                    Type = App.Enums.CipherType.Card,
                    Card = new SavedItem.CardItem
                    {
                        Number   = GetFieldValue(View.AutofillHintCreditCardNumber),
                        Name     = GetFieldValue(View.AutofillHintName),
                        ExpMonth = GetFieldValue(View.AutofillHintCreditCardExpirationMonth, true),
                        ExpYear  = GetFieldValue(View.AutofillHintCreditCardExpirationYear),
                        Code     = GetFieldValue(View.AutofillHintCreditCardSecurityCode)
                    }
                };

                return(savedItem);
            }

            return(null);
        }