public IActionResult PutWarehouse(int id, WarehouseInputDTO warehouse)
 {
     if (!repository.Update(id, warehouse))
     {
         return(NotFound());
     }
     return(Ok());
 }
Exemple #2
0
        public int Add(WarehouseInputDTO inputEntity)
        {
            using IDbConnection connection = new SqlConnection(connectionString);
            connection.Open();
            using IDbTransaction transaction = connection.BeginTransaction();

            try {
                var insertQuery     = "INSERT INTO Warehouses (Number, Address) VALUES (@Number, @Address); SELECT SCOPE_IDENTITY()";
                var createdEntityId = connection.ExecuteScalar <int>(insertQuery, inputEntity, transaction);

                AddWarehouseProducts(connection, transaction, createdEntityId, inputEntity.ProductIds);

                transaction.Commit();

                return(createdEntityId);
            } catch {
                transaction.Rollback();
                throw;
            }
        }
Exemple #3
0
        public bool Update(int id, WarehouseInputDTO inputEntity)
        {
            using IDbConnection connection = new SqlConnection(connectionString);
            connection.Open();
            using IDbTransaction transaction = connection.BeginTransaction();

            try {
                var       updateQuery = "Update Warehouses SET Number = @Number, Address = @Address WHERE Id = @Id";
                Warehouse entity      = mapper.Map <Warehouse>(inputEntity);
                entity.Id = id;
                var result = connection.Execute(updateQuery, entity, transaction) == 1;

                var deleteWarehouseProducts = "DELETE FROM ProductWarehouses WHERE WarehouseId = @Id";
                connection.Execute(deleteWarehouseProducts, entity, transaction);
                AddWarehouseProducts(connection, transaction, id, inputEntity.ProductIds);

                transaction.Commit();

                return(result);
            } catch {
                transaction.Rollback();
                throw;
            }
        }
 public int PostWarehouse(WarehouseInputDTO item)
 {
     return(repository.Add(item));
 }