示例#1
0
 public async Task <List <Product> > SelectActiveAsync()
 {
     return(await _dataContext.SP_Products
            .FromSql(ProductSPCommands.SELECT_ACTIVE_COMMAND,
                     ProductSPParameterBuilder.GetSelectActiveParameters())
            .ToListAsync());
 }
示例#2
0
        public async Task <int> AddNewAsync(string productName,
                                            int supplierId,
                                            int categoryId,
                                            string quantityPerUnit,
                                            decimal unitPrice,
                                            int unitsInStock,
                                            int unitsOnOrder,
                                            int reorderLevel,
                                            bool discontinued)
        {
            DbConnection connection = _dataContext.Database.GetDbConnection();

            using (DbCommand cmd = connection.CreateCommand())
            {
                cmd.CommandText = ProductSPCommands.ADD_NEW_COMMAND;
                var sqlparameters = ProductSPParameterBuilder.GetAddNewParameters(productName, supplierId, categoryId, quantityPerUnit,
                                                                                  unitPrice, unitsInStock, unitsOnOrder, reorderLevel, discontinued);
                foreach (var parameter in sqlparameters)
                {
                    cmd.Parameters.Add(parameter);
                }
                if (connection.State.Equals(ConnectionState.Closed))
                {
                    connection.Open();
                }

                return(Decimal.ToInt32((decimal)await cmd.ExecuteScalarAsync()));
            }
        }
示例#3
0
 public async Task <Product> SelectProductByIdAsync(int id)
 {
     return(await _dataContext.SP_Products
            .FromSql(ProductSPCommands.SELECT_ONE_COMMAND,
                     ProductSPParameterBuilder.GetSelectOneParameters(id))
            .SingleOrDefaultAsync());
 }
示例#4
0
 public async Task <int> UpdateAsync(int productId,
                                     string productName,
                                     int supplierId,
                                     int categoryId,
                                     string quantityPerUnit,
                                     decimal unitPrice,
                                     int unitsInStock,
                                     int unitsOnOrder,
                                     int reorderLevel,
                                     bool discontinued)
 {
     return(await _dataContext.Database
            .ExecuteSqlCommandAsync(ProductSPCommands.UPDATE_COMMAND,
                                    ProductSPParameterBuilder.GetUpdateParameters(productId, productName, supplierId, categoryId, quantityPerUnit,
                                                                                  unitPrice, unitsInStock, unitsOnOrder, reorderLevel, discontinued)));
 }
示例#5
0
        public async Task DeleteAsync(int productId)
        {
            DbConnection connection = _dataContext.Database.GetDbConnection();

            using (DbCommand cmd = connection.CreateCommand())
            {
                cmd.CommandText = ProductSPCommands.DELETE_COMMAND;
                var sqlparameters = ProductSPParameterBuilder.GetDeleteParameters(productId);
                foreach (var parameter in sqlparameters)
                {
                    cmd.Parameters.Add(parameter);
                }
                if (connection.State.Equals(ConnectionState.Closed))
                {
                    connection.Open();
                }

                await cmd.ExecuteScalarAsync();
            }
        }