private static string GetADOAttributeValue <TClass, TAttribute>(ADOEnum adoEnum) where TAttribute : Attribute { // Using reflection. //System.Attribute[] attrs = System.Attribute.GetCustomAttributes(t); // Reflection. IEnumerable <TAttribute> attrs = typeof(TClass).GetCustomAttributes <TAttribute>(); // Getting output. foreach (Attribute attr in attrs) { DatabaseMappingAttribute a = (DatabaseMappingAttribute)attr; switch (adoEnum) { case ADOEnum.Select: return(a.SelectSP); case ADOEnum.Insert: return(a.InsertSP); case ADOEnum.Update: return(a.UpdateSP); case ADOEnum.Delete: return(a.DeleteSP); default: return(string.Empty); } } return(string.Empty); }
private async Task InsertOrUpdate(TEntity entity, string storeProcedure, ADOEnum adoEnum) { List <KeyValuePair <string, object> > keyValuePairList = Helper.GetPropertyKeyAndValue <TEntity>(entity); await _context.PersistEntity <TEntity>(storeProcedure, keyValuePairList); }