/// <summary> /// Add Customers full Names into 1 list /// Add customers PhoneNumbers into 1 list /// Add Customers NationalNumbers into 1 list /// Add delete pressed event for CustomerNameValue_Sell /// </summary> private void Update_CustomerNamesVariablesAndEvents() { GetCustomersFromPublicVariables(); foreach (CustomerModel customer in Customers) { CustomersFullNames.Add(customer.Person.FullName); if (customer.Person.PhoneNumber != null) { CustomersPhoneNumbers.Add(customer.Person.PhoneNumber); } if (customer.Person.NationalNumber != null) { CustomersNationalNumbers.Add(customer.Person.NationalNumber); } } CustomerNameValue_InstallmentOrderUC.PreviewKeyDown += DelPressed_CustomerNameValue_InstallmentOrderUC; PhoneNumberValue_InstallmentOrderUC.PreviewKeyDown += DelPressed_PhoneNumberValue_InstallmentOrderUC; NationalNumberValue_InstallmentOrderUC.PreviewKeyDown += DelPressed_NationalNumberValue_InstallmentOrderUC; UpdateCustomerInfo(GlobalConfig.Connection.GetDefaultCustomer()); }
/// <summary> /// Events for CustomerValue changes to auto complete /// source : https://stackoverflow.com/questions/950770/autocomplete-textbox-in-wpf /// </summary> private void CustomerNameValue_InstallmentOrderUC_TextChanged(object sender, TextChangedEventArgs e) { var change = e.Changes.FirstOrDefault(); if (!InProg_CustomerNameValue_InstallmentOrderUC) { InProg_CustomerNameValue_InstallmentOrderUC = true; var culture = new CultureInfo(CultureInfo.CurrentCulture.Name); var source = ((TextBox)sender); if (((change.AddedLength - change.RemovedLength) > 0 || source.Text.Length > 0) && !DelKeyPressed_CustomerNameValue_InstallmentOrderUC) { if (CustomersFullNames.Where(x => x.IndexOf(source.Text, StringComparison.CurrentCultureIgnoreCase) == 0).Count() > 0) { var _appendtxt = CustomersFullNames.FirstOrDefault(ap => (culture.CompareInfo.IndexOf(ap, source.Text, CompareOptions.IgnoreCase) == 0)); _appendtxt = _appendtxt.Remove(0, change.Offset + 1); source.Text += _appendtxt; source.SelectionStart = change.Offset + 1; source.SelectionLength = source.Text.Length; } } InProg_CustomerNameValue_InstallmentOrderUC = false; } }
/// <summary> /// Implemnted from interface to set the customer If this Customer is new /// </summary> /// <param name="customer"></param> public void CustomerComplete(CustomerModel customer) { Customers.Add(customer); CustomersFullNames.Add(customer.Person.FullName); UpdateCustomerInfo(customer); }