public static IDAOFilter CreateIDictDatFilter <T>(IDataAccess accessor, ArrayList args) where T : BaseDat <T>//, new() { IDAOFilter filter = accessor.NewFilter(); if (args.Count == 1) { if (args[0] is string) { filter.AddWhere(new FilterString(BaseDat <T> .GetFieldName("SCode"), (string)args[0])); return(filter); } else if (args[0] is int) { return(CreateIDatFilter <T>(accessor, args)); } } throw new ArgumentException("ќшибка формировани¤ IDictDatFilter по заданным аргументам", args2string(args)); }
public static IDAOFilter CreateICardDatFilter <T>(IDataAccess accessor, ArrayList args) where T : BaseDat <T>//, new() { IDAOFilter filter = accessor.NewFilter(); if (args.Count == 1) { if (args[0] is int) { return(CreateIDatFilter <T>(accessor, args)); } else if (args[0] is PathCard) { filter.AddWhere(new FilterAND(new FilterString(BaseDat <T> .GetFieldName("Parent_FP"), ((PathCard)args[0]).Parent.ToString()), new FilterID(BaseDat <T> .GetFieldName("Code"), ((PathCard)args[0]).Code))); return(filter); } else if (args[0] is string) { string argVal = args[0].ToString(); if (PathCard.IsPathCard(argVal)) { filter.AddWhere(new FilterAND(new FilterString(BaseDat <T> .GetFieldName("Parent_FP"), new PathCard(argVal).Parent.ToString()), new FilterID(BaseDat <T> .GetFieldName("Code"), new PathCard(argVal).Code))); return(filter); } } } else if (args.Count == 2) { //if (args[0] is PathTree && args[1] is int) if (PathTree.IsPathTree(args[0].ToString()) && args[1] is int) { filter.AddWhere(new FilterAND(new FilterString(BaseDat <T> .GetFieldName("Parent_FP"), ((PathTree)args[0]).ToString()), new FilterID(BaseDat <T> .GetFieldName("Code"), (int)args[0]))); return(filter); } else if (args[0] is string && args[1] is int) { filter.AddWhere(new FilterAND(new FilterString(BaseDat <T> .GetFieldName("Parent_FP"), (string)args[0]), new FilterID(BaseDat <T> .GetFieldName("Code"), (int)args[0]))); return(filter); } } throw new ArgumentException("ќшибка формировани¤ ICardDatFilter по заданным аргументам", args2string(args)); }