MonoMobile.Views.ListSource.ConfigureRowEditing C# (CSharp) Method

ConfigureRowEditing() private method

private ConfigureRowEditing ( ) : void
return void
		private void ConfigureRowEditing()
		{
			if (Controller != null && Controller.RootView != null)
			{
				var cellEditingStyle = Controller.RootView.GetType().GetCustomAttribute<CellEditingStyleAttribute>();
				if (cellEditingStyle == null)
				{
					if (MemberData != null)
					{
						cellEditingStyle = MemberData.Member.GetCustomAttribute<CellEditingStyleAttribute>();
					}
				}
				
				if (cellEditingStyle != null)
				{
					_EditingStyle = cellEditingStyle.EditingStyle;
					_CanEditSource = Controller.RootView;
					_CanEditMember = GetMemberFromView(cellEditingStyle.CanEditMemberName);
					if (_CanEditMember == null)
					{
						_CanEditMember = GetMemberFromViewModel(cellEditingStyle.CanEditMemberName);
					
						var dc = Controller.RootView as IDataContext<object>;
						if (dc != null && dc.DataContext != null)
						{
							_CanEditSource = dc.DataContext;
						}
					}
	
					if (!string.IsNullOrEmpty(cellEditingStyle.EditCommandMemberName))
					{
						var commandMember = _CanEditSource.GetType().GetMember(cellEditingStyle.EditCommandMemberName).FirstOrDefault();
						if (commandMember != null)
						{
							_EditCommand = ViewParser.GetCommandForMember(_CanEditSource, commandMember);
						}
					} 
				}
			}
		}