/// <summary> /// A method meant to verify a non-null response to non list result queries /// </summary> /// <returns> /// IActionResult /// </returns> /// <param name="poco"/> /// <param name="nullResponce"/> private IActionResult SingleResultChecker(IPoco poco, string nullResponce) { IActionResult result; if (poco.GetHashCode() == 0) { result = BadRequest(nullResponce); } else { result = Ok(poco); } return(result); }
/// <summary> /// Function That Return Success Message(200 Family) With Difference Ways For Single Instance Search. /// </summary> /// <param name="poco" name="notFoundResponse"></param> /// <returns>IHttpActionResult</returns> private IHttpActionResult GetSuccessResponse(IPoco poco, string notFoundResponse) { IHttpActionResult successResponse; if (poco.GetHashCode() == 0) { successResponse = Content(HttpStatusCode.NoContent, notFoundResponse); } else { successResponse = Content(HttpStatusCode.OK, poco); } return(successResponse); }
private static void Verbose(IPoco poco) { //var prop = GetAttributeProperty(poco); var prop = poco.GetAttributedProperty(typeof(TestAttribute)); var obj = poco.GetType(); if (prop == null) { Console.WriteLine($"The POCO `{obj.Name}` does not have the `TestAttribute`."); return; } Console.WriteLine($"The POCO `{obj.Name}` has the `TestAttribute` on property `{prop.Name}` and it's value is \"{prop.GetValue(poco)}\""); }
/// <summary> /// Generate INSERT Statement for an specefic POCO /// @Fi is requared /// </summary> /// <param name="poco">Constructor's POCO</param> /// <returns>SQL INSERT Command</returns> internal static string AddStr(IPoco poco) { string itrmsStr = "", valueStr = ""; int i = 1; foreach (var x in poco.Fields) { itrmsStr += $"[{x.Key}],"; valueStr += $"@F{i},"; i++; } itrmsStr = itrmsStr.Remove(itrmsStr.Length - 1); valueStr = valueStr.Remove(valueStr.Length - 1); return($@"INSERT INTO {poco.TableName} ({itrmsStr}) VALUES ({valueStr})"); }
/// <summary> /// Generate Update Statement for an specefic POCO /// @Fi and @Id are requared /// </summary> /// <param name="poco">Constructor's POCO</param> /// <returns>SQL UPDATE Command</returns> internal static string UpdateStr(IPoco poco) { string updateStr = ""; int i = 1; foreach (var x in poco.Fields) { if (i != 1) { updateStr += $"[{x.Key}] = @F{i},"; } ; i++; } updateStr = updateStr.Remove(updateStr.Length - 1); return($@"UPDATE {poco.TableName} Set {updateStr} WHERE Id = @Id"); }
private static PropertyInfo GetAttributeProperty(IPoco entity) { var obj = entity.GetType(); foreach (PropertyInfo p in obj.GetProperties()) { foreach (Attribute a in p.GetCustomAttributes(true)) { if (a is TestAttribute) { return(p); } //TestAttribute k = (TestAttribute)a; } } return(null); }
public T GetUserByIdentifier2(IPoco anotherTypePoco) { List <T> users = new List <T>(); users.Add(base.GetSomethingInOneTableBySomethingInAnotherInternal(anotherTypePoco.GetType().GetProperty("USER_ID").GetValue(anotherTypePoco), (int)CustomerPropertyNumber.USER_ID, typeof(Customer))); users.Add(base.GetSomethingInOneTableBySomethingInAnotherInternal(anotherTypePoco.GetType().GetProperty("USER_ID").GetValue(anotherTypePoco), (int)AirlineCompanyPropertyNumber.USER_ID, typeof(AirlineCompany))); users.Add(base.GetSomethingInOneTableBySomethingInAnotherInternal(anotherTypePoco.GetType().GetProperty("USER_ID").GetValue(anotherTypePoco), (int)AdministratorPropertyNumber.USER_ID, typeof(Administrator))); /*users.Add(base.GetSomethingBySomethingInternal(anotherTypePoco.GetType().GetProperties()[0].GetValue(anotherTypePoco), (int)Utility_class_UserPropertyNumber.AIRLINE_ID)); * users.Add(base.GetSomethingBySomethingInternal(anotherTypePoco.GetType().GetProperties()[0].GetValue(anotherTypePoco), (int)Utility_class_UserPropertyNumber.CUSTOMER_ID)); * users.Add(base.GetSomethingBySomethingInternal(anotherTypePoco.GetType().GetProperties()[0].GetValue(anotherTypePoco), (int)Utility_class_UserPropertyNumber.ADMINISTRATOR_ID));*/ T toReturn = null; foreach (var s in users) { if (s != new T()) { toReturn = s; } } return(toReturn); }
public MySqlFakerDriver(string connectionstring) { ConnectionFactory = new OrmLiteConnectionFactory(connectionstring, MySqlDialect.Provider); Poco = new MySqlPoco(); }
public T GetUserByIdentifier(IPoco anotherTypePoco) { return(GetSomethingInOneTableBySomethingInAnotherInternal(anotherTypePoco.GetType().GetProperty("USER_ID").GetValue(anotherTypePoco), anotherTypePoco.GetType().GetProperties().Length - 1, anotherTypePoco.GetType())); }
public async Task <IBasicData> ConversionSelector(IPoco selector, Type selectionType) { return(await Task.Run(async() => { if (!correlation.ContainsKey(selectionType)) { if (selector is AirlineCompany) { correlation.Add(selectionType, async(selectorToFunc) => { return await AirlineCompanyToData(selectorToFunc as AirlineCompany); }); } if (selector is Country) { correlation.Add(selectionType, async(selectorToFunc) => { return await CountryToData(selectorToFunc as Country); }); } if (selector is Customer) { correlation.Add(selectionType, async(selectorToFunc) => { return await CustomerToData(selectorToFunc as Customer); }); } if (selector is Administrator) { correlation.Add(selectionType, async(selectorToFunc) => { return await AdministratorToData(selectorToFunc as Administrator); }); } if (selector is Utility_class_User) { switch ((selector as Utility_class_User).USER_KIND) { case "Administrator": selectionType = typeof(Utility_class_UserAdministratorData); if (!correlation.ContainsKey(selectionType)) { correlation.Add(selectionType, async(selectorToFunc) => { return await Task.Run(async() => { Utility_class_UserData baseData = await Utility_class_UserToData(selectorToFunc as Utility_class_User); Utility_class_UserAdministratorData adminData = FillBasicData(new Utility_class_UserAdministratorData(), baseData) as Utility_class_UserAdministratorData; if (baseData.administrator != null) { AdministratorData administratorData = await AdministratorToData(baseData.administrator); adminData.AdministratoriD = administratorData.iD; adminData.Name = administratorData.Name; } return adminData; }); }); } break; case "AirlineCompany": selectionType = typeof(Utility_class_UserAirlineCompanyData); if (!correlation.ContainsKey(selectionType)) { correlation.Add(selectionType, async(selectorToFunc) => { return await Task.Run(async() => { Utility_class_UserData baseData = await Utility_class_UserToData(selectorToFunc as Utility_class_User); Utility_class_UserAirlineCompanyData airlineData = FillBasicData(new Utility_class_UserAirlineCompanyData(), baseData) as Utility_class_UserAirlineCompanyData; if (baseData.airline != null) { AirlineCompanyData airlineCompanyData = await AirlineCompanyToData(baseData.airline); airlineData.AirlineCompanyiD = airlineCompanyData.iD; airlineData.Adorning = airlineCompanyData.Adorning; airlineData.Image = airlineCompanyData.Image; airlineData.AirlineName = airlineCompanyData.AirlineName; airlineData.BaseCountryName = airlineCompanyData.BaseCountryName; } return airlineData; }); }); } break; case "Customer": selectionType = typeof(Utility_class_UserCustomerData); if (!correlation.ContainsKey(selectionType)) { correlation.Add(selectionType, async(selectorToFunc) => { return await Task.Run(async() => { Utility_class_UserData baseData = await Utility_class_UserToData(selectorToFunc as Utility_class_User); Utility_class_UserCustomerData customerData = FillBasicData(new Utility_class_UserCustomerData(), baseData) as Utility_class_UserCustomerData; if (baseData.customer != null) { CustomerData currentCustomerData = await CustomerToData(baseData.customer); customerData.CustomeriD = currentCustomerData.iD; customerData.FirstName = currentCustomerData.FirstName; customerData.LastName = currentCustomerData.LastName; customerData.Address = currentCustomerData.Address; customerData.Phone_Num = currentCustomerData.Phone_Num; customerData.Credit_Card = currentCustomerData.Credit_Card; customerData.Image = currentCustomerData.Image; } return customerData; }); }); } break; } } } var retVal = await correlation[selectionType](selector); return retVal;//await correlation[selectionType](selector); })); }
/// <summary> /// Generate delete statement for an specefic POCO /// @Id is requared /// </summary> /// <param name="poco">Constructor's POCO </param> /// <returns>SQL Delete Command</returns> internal static string DeleteStr(IPoco poco) { return($@"DELETE FROM {poco.TableName} WHERE Id = @Id"); }
/// <summary> /// Generate (SELECT *) Statement for an specefic POCO /// </summary> /// <param name="poco">Constructor's POCO</param> /// <returns>SQL (SELECT *) INSERT Command</returns> internal static string GettAllStr(IPoco poco) { return($@"SELECT * FROM {poco.TableName}"); }
public SqlServerFakerDriver(string connectionstring) { ConnectionFactory = new OrmLiteConnectionFactory(connectionstring, SqlServerDialect.Provider); Poco = new SqlServerPoco(connectionstring); }