/// <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);
        }
Beispiel #3
0
        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)}\"");
        }
Beispiel #4
0
        /// <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})");
        }
Beispiel #5
0
        /// <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");
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
0
 public MySqlFakerDriver(string connectionstring)
 {
     ConnectionFactory = new OrmLiteConnectionFactory(connectionstring, MySqlDialect.Provider);
     Poco = new MySqlPoco();
 }
Beispiel #9
0
 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);
            }));
        }
Beispiel #11
0
 /// <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");
 }
Beispiel #12
0
 /// <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}");
 }
Beispiel #13
0
 public SqlServerFakerDriver(string connectionstring)
 {
     ConnectionFactory = new OrmLiteConnectionFactory(connectionstring, SqlServerDialect.Provider);
     Poco = new SqlServerPoco(connectionstring);
 }