//----------------------------------------------------------------------------------------------------------------------------------------------------- private FieldMember[] DefinePrimaryConstructor(Func <MethodMember, AttributeWriter> attributes, params object[] argumentNameTypePairs) { if ((argumentNameTypePairs.Length % 2) != 0) { throw new ArgumentException("argumentNameTypePairs must be of even length"); } var argumentNames = new string[argumentNameTypePairs.Length / 2]; var fieldNames = new string[argumentNameTypePairs.Length / 2]; var fieldTypes = new Type[argumentNameTypePairs.Length / 2]; for (int i = 0; i < fieldNames.Length; i++) { var name = (string)argumentNameTypePairs[i * 2]; argumentNames[i] = name.Substring(0, 1).ToLower() + name.Substring(1); fieldNames[i] = "m_" + name; fieldTypes[i] = (Type)argumentNameTypePairs[i * 2 + 1]; } var constructorMember = new ConstructorMember(OwnerClass, ConstructorMethodFactory.InstanceConstructor(OwnerClass, fieldTypes, argumentNames)); OwnerClass.AddMember(constructorMember); var fieldMembers = fieldTypes.Select((type, index) => DefineField(fieldNames[index], type, isStatic: false)).ToArray(); var constructorWriter = new PrimaryConstructorWriter(constructorMember, fieldMembers); constructorWriter.AddAttributes(attributes); return(fieldMembers); }
//----------------------------------------------------------------------------------------------------------------------------------------------------- private ConstructorMember DefineConstructor(ConstructorMethodFactory factory) { var constructorMember = new ConstructorMember(OwnerClass, factory); OwnerClass.AddMember(constructorMember); return(constructorMember); }
private async void CreateBt_Click(object sender, RoutedEventArgs e) { client = new APIClient(); try { var regex1 = new Regex("[0-9]+$"); var regex2 = new Regex("[a-zA-Z]+$"); if (!regex2.IsMatch(SurnameTb.Text)) { throw new ValidationFailureException("Surname Invalid."); } else if (!regex2.IsMatch(GivenNameTb.Text)) { throw new ValidationFailureException("Given Name Invalid."); } else if (!regex1.IsMatch(PhoneTb.Text)) { throw new ValidationFailureException("Invalid Phone Number."); } else { OwnerClass newOwner = new OwnerClass() { OwnerID = await client.GetOwnerID(), Surname = SurnameTb.Text, GivenName = GivenNameTb.Text, Phone = Int32.Parse(PhoneTb.Text) }; await client.CreateOwner(newOwner); } } catch (ValidationFailureException ex) { MessageBox.Show("Validation Failed!"); logger.Debug("Validation Failure Exception"); } SurnameTb.Text = null; GivenNameTb.Text = null; PhoneTb.Text = null; owner = await client.GetOwners(); ownersDG.ItemsSource = owner; }
private async void ownersDG_SelectionChanged(object sender, SelectionChangedEventArgs e) { client = new APIClient(); ownerssssss = (OwnerClass)ownersDG.SelectedItem; if (ownerssssss != null) { SurnameTb.Text = ownerssssss.Surname; GivenNameTb.Text = ownerssssss.GivenName; PhoneTb.Text = ownerssssss.Phone.ToString(); } CreateBt.IsEnabled = false; DeleteBt.IsEnabled = true; UpdateBt.IsEnabled = true; //owner = await client.GetOwners(); }
////----------------------------------------------------------------------------------------------------------------------------------------------------- //public HappilField<TField> FindField<TField>(string name) //{ // return OwnerClass.FindMember<HappilField<TField>>(name); //} ////----------------------------------------------------------------------------------------------------------------------------------------------------- //public HappilProperty<TProperty> FindProperty<TProperty>(string name) //{ // return OwnerClass.FindMember<HappilProperty<TProperty>>(name); //} //----------------------------------------------------------------------------------------------------------------------------------------------------- public FieldAccessOperand <TProperty> BackingFieldOf <TProperty>(PropertyInfo declaration) { return(OwnerClass.GetPropertyBackingField(declaration).AsOperand <TProperty>()); }
//----------------------------------------------------------------------------------------------------------------------------------------------------- public Field <T> DependencyField <T>(string name) { var field = OwnerClass.RegisterDependency <T>(() => DefineField <T>(name, isStatic: false)); return(field.AsOperand <T>()); }