Exemplo n.º 1
0
        public void GetProductsTest()
        {
            IProductsDataDataAccess dataAccess = new ProductsDataDataAccess();

            ProductDataQuery productsDataQueryInput = new ProductDataQuery();

            productsDataQueryInput.PageNumber = 1;
            productsDataQueryInput.PageSize   = 8;

            productsDataQueryInput.Filters.Add(new Filter {
                ColumnName = "Description", FilterType = FilterType.Contains, Value = "Prod"
            });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "LastSold", FilterType = FilterType.GreatherEqualThan, Value = "1/3/2018" });
            productsDataQueryInput.Filters.Add(new Filter {
                ColumnName = "LastSold", FilterType = FilterType.GreatherEqualThan, Value = "1/3/2018"
            });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "ShelLife", FilterType = FilterType.Equal, Value = "1" });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "DepartmentId", FilterType = FilterType.GreatherThan, Value = "1" });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "Price", FilterType = FilterType.Between, Value = "5", Value2 ="7" });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "UnitId", FilterType = FilterType.GreatherThan, Value = "1" });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "xFor", FilterType = FilterType.GreatherThan, Value = "1" });
            //productsDataQueryInput.Filters.Add(new Filter { ColumnName = "Cost", FilterType = FilterType.GreatherThan, Value = "1" });

            ProductDataQuery productsDataQueryResult = dataAccess.GetProducts(productsDataQueryInput);
        }
Exemplo n.º 2
0
 public ProductDataQuery GetProducts(ProductDataQuery dataQuery)
 {
     try
     {
     }
     catch (System.Exception)
     {
         //TODO: Log to file for make easy debbuging
         throw;
     }
     return(new ProductDataQuery());
 }
Exemplo n.º 3
0
 public ProductDataQuery GetProducts(ProductDataQuery dataQuery)
 {
     try
     {
         //TODO: Add  bussines rules return an error message
         if (dataQuery != null)
         {
             dataQuery = _productDataAccess.GetProducts(dataQuery);
         }
     }
     catch (System.Exception Ex)
     {
         //TODO: Log to file for make easy debbuging
         throw;
     }
     return(dataQuery);
 }
Exemplo n.º 4
0
        public ProductDataQuery GetProducts(ProductDataQuery dataQuery)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    string filterString       = dataQuery.GetFiltersAsString();
                    string queryTotalProducts = SqlConstants.PRODUCTS_SELECT_QUERY_COUNT;
                    if (!string.IsNullOrEmpty(filterString))
                    {
                        queryTotalProducts += SqlConstants.WHERE + filterString;
                    }


                    SqlCommand cmdTotalProducts = new SqlCommand(queryTotalProducts, conn);
                    cmdTotalProducts.Parameters.AddRange(dataQuery.GetFilterParameters());
                    conn.Open();

                    Int32 count = Convert.ToInt32(cmdTotalProducts.ExecuteScalar());

                    cmdTotalProducts.Dispose();

                    dataQuery.Total = count;

                    string queryProducts = SqlConstants.PRODUCTS_SELECT_QUERY_OPEN;

                    if (!string.IsNullOrEmpty(filterString))
                    {
                        queryProducts += SqlConstants.WHERE + filterString;
                    }

                    queryProducts += SqlConstants.PRODUCTS_SELECT_QUERY_CLOSE;

                    SqlCommand cmdProducts = new SqlCommand(queryProducts, conn);

                    cmdProducts.Parameters.Add(new SqlParameter(SqlConstants.ROW_START_PARAMETER_NAME, SqlDbType.Int));
                    cmdProducts.Parameters[SqlConstants.ROW_START_PARAMETER_NAME].Value = dataQuery.StartRow;

                    cmdProducts.Parameters.Add(new SqlParameter(SqlConstants.ROW_END_PARAMETER_NAME, SqlDbType.Int));
                    cmdProducts.Parameters[SqlConstants.ROW_END_PARAMETER_NAME].Value = dataQuery.EndRow;

                    cmdProducts.Parameters.AddRange(dataQuery.GetFilterParameters());

                    List <Product> productList = new List <Product>();


                    using (SqlDataReader reader = cmdProducts.ExecuteReader())
                    {
                        int idOrdinal          = reader.GetOrdinal("Id");
                        int descriptionOrdinal = reader.GetOrdinal("Description");
                        int lastSoldOrdinal    = reader.GetOrdinal("LastSold");
                        int shelfLifeOrdinal   = reader.GetOrdinal("ShelfLife");
                        int departmentOrdinal  = reader.GetOrdinal("Department");
                        int priceOrdinal       = reader.GetOrdinal("Price");
                        int unitOrdinal        = reader.GetOrdinal("Unit");
                        int xForOrdinal        = reader.GetOrdinal("xFor");
                        int costOrdinal        = reader.GetOrdinal("Cost");

                        while (reader.Read())
                        {
                            productList.Add(new Product()
                            {
                                Id          = (int)reader.GetInt32(idOrdinal),
                                Description = !reader.IsDBNull(descriptionOrdinal) ? reader.GetString(descriptionOrdinal) : string.Empty,
                                LastSold    = reader.GetDateTime(lastSoldOrdinal),
                                ShelfLife   = !reader.IsDBNull(shelfLifeOrdinal) ? reader.GetInt64(shelfLifeOrdinal) : 0,
                                Department  = !reader.IsDBNull(departmentOrdinal) ? reader.GetString(departmentOrdinal) : string.Empty,
                                Price       = !reader.IsDBNull(priceOrdinal) ? reader.GetDouble(priceOrdinal) : 0,
                                Unit        = !reader.IsDBNull(unitOrdinal) ? reader.GetString(unitOrdinal) : string.Empty,
                                XFor        = !reader.IsDBNull(xForOrdinal) ? reader.GetInt32(xForOrdinal) : 0,
                                Cost        = !reader.IsDBNull(costOrdinal) ? reader.GetDouble(costOrdinal) : 0
                            });
                        }
                    }
                    dataQuery.Result = productList;
                }
            }
            catch (Exception Ex)
            {
                //TODO: Log to file for make easy debbuging
                throw;
            }

            return(dataQuery);
        }
Exemplo n.º 5
0
 // GET api/products
 public ProductDataQuery Get([ModelBinder(typeof(ProductDataQueryModelBinder))] ProductDataQuery dataQuery)
 {
     return(_productManager.GetProducts(dataQuery));
 }